<!DOCTYPE html>
<html lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>distance_object_model_3d [HALCON算子参考手册]</title>
<style type="text/css">
      body {
    color: #000000;
    background-color: #ffffff;
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
}

.body_main {
    margin-left: 35px;
    margin-right: 35px;
}

@media screen and (min-width:992px) {

    .body_main {
        margin-left: 10%;
        margin-right: 10%;
    }

    table.toctable {
        width: 80%
    }
}

@media screen and (min-width:1400px) {

    .body_main {
        margin-left: 15%;
        margin-right: 15%;
    }

    table.toctable {
        width: 70%
    }
}

body>div ul ul {
    margin-left: inherit;
}

a:link {
    color: #0044cc;
}

a:link,
a:visited {
    text-decoration: none;
}

a:link:hover,
a:visited:hover {
    text-decoration: underline;
}

th {
    text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    text-rendering: optimizeLegibility;
    color: #666666;
}

code {
    font-family: monospace,monospace;
}

h1 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

h2 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

hr {
    border: 0;
    border-top: solid 1px #f28d26;
}

.pre {
    display: block;
    padding-bottom: 1ex;
    font-family: monospace;
    white-space: pre;
}

pre {
    font-family: monospace, monospace;
    padding: 1ex;
    white-space: pre-wrap;
}

.toc {
    font-size: 80%;
    border-top: 1px dashed #f28d26;
    border-bottom: 1px dashed #f28d26;
    padding-top: 5px;
    padding-bottom: 5px;
}

.inv {
    margin: 0;
    border: 0;
    padding: 0;
}

.banner {
    color: #666666;
    padding-left: 1em;
}

.logo {
    background-color: white;
}

.keyboard {
    font-size: 80%;
    padding-left: 3px;
    padding-right: 3px;
    border-radius: 5px;
    border-width: 1px;
    border-style: solid;
    border-color: #f28d26;
    background-color: #f3f3f3;
}

.warning {
    margin-top: 2ex;
    margin-bottom: 1ex;
    padding: 10px;
    text-align: center;
    border: 1px solid;
    color: #bb0000;
    background-color: #fff7f7
}

.imprint {
    margin-top: 1ex;
    font-size: 80%;
    color: #666666;
}

.imprinthead {
    font-weight: bolder;
    color: #666666;
}

.indexlink {
    text-align: right;
    padding-bottom: 5px;
}

.postscript {
    margin-top: 2ex;
    font-size: 80%;
    color: #666666
}

.evenrow {
    background-color: #e7e7ef;
    vertical-align: top;
}

.oddrow {
    background-color: #f7f7ff;
    vertical-align: top;
}

.headrow {
    background-color: #97979f;
    color: #ffffff;
    vertical-align: top;
}

.logorow {
    vertical-align: top;
}

.error {
    color: red;
}

.var {
    font-style: italic
}

.halconoperator {
    font-family: monospace, monospace;
}

span.operator {
    font-family: monospace, monospace;
}

span.procedure {
    font-family: monospace, monospace;
}

span.operation {
    font-family: monospace, monospace;
}

span.feature {
    font-family: Arial, Helvetica, Homerton, sans-serif;
}

ul {
    padding-left: 1.2em;
}

li.dot {
    list-style-type: square;
    color: #f28d26;
}

.breadcrumb {
    font-size: 80%;
    color: white;
    background-color: #062d64;
    margin-bottom: 20px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 15px;
}

.webbar {
    font-size: 80%;
    background-color: #dddddd;
    margin-top: 0px;
    margin-left: -35px;
    margin-right: -35px;
    margin-bottom: 0px;
    padding-top: 5px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 5px;
}

.footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    border-top: 1px dashed #f28d26;
    font-size: 80%;
    color: #666666;
    padding-bottom: 8px;
}

.footer .socialmedia a {
    padding-left: 7px;
}

.socialmedia {
    padding-top: 10px;
}

.copyright {
    margin-top: 19px;
}

.breadcrumb a {
    color: #ffffff;
    border-bottom: 1px solid white;
}

.breadcrumb a:link:hover,
.breadcrumb a:visited:hover {
    text-decoration: none;
    border-bottom: none;
}

.heading {
    margin-top: 1ex;
    font-size: 110%;
    font-weight: bold;
    color: #666666;
}

.text {
    color: black;
}

.example {
    font-size: 80%;
    background-color: #f3f3f3;
    border: 1px dashed #666666;
    padding: 10px;
}

.displaymath {
    display: block;
    text-align: center;
    margin-top: 1ex;
    margin-bottom: 1ex;
}

.title {
    float: left;
    padding-top: 3px;
    padding-bottom: 3px;
}

.signnote {
    font-family: Arial, Helvetica, Homerton, sans-serif;
    font-size: 80%;
    color: #666666;
    font-weight: lighter;
    font-style: italic
}

.par {
    margin-bottom: 1.5em;
}

.parhead {
    text-align: right;
}

.parname {
    float: left;
}

.pardesc {
    font-size: 85%;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    margin-left: 2em;
}

.parcat {
    color: #666;
    font-weight: bold;
}

*[data-if=cpp],
*[data-if=c],
*[data-if=dotnet],
*[data-if=com],
*[data-if=python] {
    display: none;
}

.tabbar {
    text-align: right;
    border-bottom: 1px solid #f28d26;
    margin-bottom: 0.5em;
}

ul.tabs {
    padding-top: 3px;
    padding-bottom: 3px;
    margin-top: 10px;
    margin-bottom: 0;
    font-size: 80%
}

ul.tabs li {
    padding-top: 3px;
    padding-bottom: 3px;
    display: inline;
    overflow: hidden;
    list-style-type: none;
    margin: 0;
    margin-left: 8px;
    border-top: 1px solid #666;
    border-left: 1px solid #666;
    border-right: 1px solid #666;
}

ul.tabs li.active {
    border-left: 1px solid #f28d26;
    border-right: 1px solid #f28d26;
    border-top: 1px solid #f28d26;
    border-bottom: 1px solid #fff;
}

ul.tabs li.inactive {
    background-color: #eee;
}

ul.tabs li a {
    padding-left: 5px;
    padding-right: 5px;
    color: #666;
}

ul.tabs li a:link:hover {
    text-decoration: none;
}

ul.tabs li.inactive a {
    color: #666;
}

ul.tabs li.active a {
    color: black;
}

dl.generic dd {
    margin-bottom: 1em;
}

.pari {
    color: olive;
}

.paro {
    color: maroon;
}

.comment {
    font-size: 80%;
    color: green;
    white-space: nowrap;
}

table.grid {
    border-collapse: collapse;
}

table.grid td {
    padding: 5px;
    border: 1px solid;
}

table.layout {
    border: 0px;
}

table.layout td {
    padding: 5px;
}

table.table {
    border-collapse: collapse;
}

table.table td {
    padding: 5px;
    border-left: 0px;
    border-right: 0px;
}

table.table tr:last-child {
    border-bottom: 1px solid;
}

table.table th {
    padding: 5px;
    border-top: 1px solid;
    border-bottom: 1px solid;
    border-left: 0px;
    border-right: 0px;
}

.details_summary {
    cursor: pointer;
}

table.toctable {
    width: 100%;
}

table.toctable col:first-child {
    width: 20%;
}

table.toctable col:nth-last-child(2) {
    width: 8%;
}

table.altcolored tr:nth-child(even) {
    background-color: #f3f3f3;
}

    </style>
<!--OP_REF_STYLE_END-->
<script>
    <!--
var active_lang='hdevelop';function switchVisibility(obj,active_lang,new_lang)
{var display_style='inline';
for(var i=0;i<obj.length;i++)
{if(obj.item(i).getAttribute('data-if')==new_lang)
{obj.item(i).style.display=display_style;}
if(obj.item(i).getAttribute('data-if')==active_lang)
{obj.item(i).style.display='none';}}
return;}
function toggleLanguage(new_lang,initial)
{if(active_lang!=new_lang)
{var lis=document.getElementsByTagName('li');for(var i=0;i<lis.length;i++)
{if(lis.item(i).id=='syn-'+new_lang)
{lis.item(i).className='active';}
else
{lis.item(i).className='inactive';}}
var divs=document.getElementsByTagName('div');var spans=document.getElementsByTagName('span');switchVisibility(divs,active_lang,new_lang);switchVisibility(spans,active_lang,new_lang);if(!initial)
{setCookie("halcon_reference_language",new_lang,null,null);}
active_lang=new_lang;}
return;}
function setCookie(name,value,domain,exp_offset,path,secure)
{localStorage.setItem(name,value);}
function getCookie(name)
{return localStorage.getItem(name);}
function initialize()
{var qs=location.href.split('?')[1];var qs_lang_raw=location.href.split('interface=')[1];var qs_lang;if(qs_lang_raw)
{qs_lang=qs_lang_raw.split('#')[0];}
var cookie_lang=getCookie("halcon_reference_language");var new_lang;if((qs_lang=="hdevelop")||(qs_lang=="dotnet")||(qs_lang=="python")||(qs_lang=="cpp")||(qs_lang=="c"))
{new_lang=qs_lang;setCookie("halcon_reference_language",new_lang,null,null);}
else if((cookie_lang=="hdevelop")||(cookie_lang=="dotnet")||(cookie_lang=="python")||(cookie_lang=="cpp")||(cookie_lang=="c"))
{new_lang=cookie_lang;}
else
{new_lang="hdevelop";}
toggleLanguage(new_lang,1);return;}
-->

  </script>
</head>
<body onload="initialize();">
<div class="breadcrumb">
<br class="inv"><a href="index.html">目录</a> / <a href="toc_3dobjectmodel.html">3D Object Model</a> / <a href="toc_3dobjectmodel_features.html">特征</a><br class="inv">
</div>
<div class="body_main">
<div class="tabbar"><ul class="tabs">
<li id="syn-hdevelop" class="active"><a href="javascript:void(0);" onclick="toggleLanguage('hdevelop')" onfocus="blur()">HDevelop</a></li>
<li id="syn-dotnet" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('dotnet')" onfocus="blur()">.NET</a></li>
<li id="syn-python" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('python')" onfocus="blur()">Python</a></li>
<li id="syn-cpp" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('cpp')" onfocus="blur()">C++</a></li>
<li id="syn-c" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('c')" onfocus="blur()">C</a></li>
</ul></div>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<!--OP_REF_HEADER_END-->
<h1 id="sec_name">
<span data-if="hdevelop" style="display:inline;">distance_object_model_3d</span><span data-if="c" style="display:none;">T_distance_object_model_3d</span><span data-if="cpp" style="display:none;">DistanceObjectModel3d</span><span data-if="dotnet" style="display:none;">DistanceObjectModel3d</span><span data-if="python" style="display:none;">distance_object_model_3d</span> (算子名称)</h1>
<h2>名称</h2>
<p><code><span data-if="hdevelop" style="display:inline;">distance_object_model_3d</span><span data-if="c" style="display:none;">T_distance_object_model_3d</span><span data-if="cpp" style="display:none;">DistanceObjectModel3d</span><span data-if="dotnet" style="display:none;">DistanceObjectModel3d</span><span data-if="python" style="display:none;">distance_object_model_3d</span></code> — Compute the distances of the points of one 3D object model to another
3D object model.</p>
<h2 id="sec_synopsis">参数签名</h2>
<div data-if="hdevelop" style="display:inline;">
<p>
<code><b>distance_object_model_3d</b>( :  : <a href="#ObjectModel3DFrom"><i>ObjectModel3DFrom</i></a>, <a href="#ObjectModel3DTo"><i>ObjectModel3DTo</i></a>, <a href="#Pose"><i>Pose</i></a>, <a href="#MaxDistance"><i>MaxDistance</i></a>, <a href="#GenParamName"><i>GenParamName</i></a>, <a href="#GenParamValue"><i>GenParamValue</i></a> : )</code></p>
</div>
<div data-if="c" style="display:none;">
<p>
<code>Herror <b>T_distance_object_model_3d</b>(const Htuple <a href="#ObjectModel3DFrom"><i>ObjectModel3DFrom</i></a>, const Htuple <a href="#ObjectModel3DTo"><i>ObjectModel3DTo</i></a>, const Htuple <a href="#Pose"><i>Pose</i></a>, const Htuple <a href="#MaxDistance"><i>MaxDistance</i></a>, const Htuple <a href="#GenParamName"><i>GenParamName</i></a>, const Htuple <a href="#GenParamValue"><i>GenParamValue</i></a>)</code></p>
</div>
<div data-if="cpp" style="display:none;">
<p>
<code>void <b>DistanceObjectModel3d</b>(const HTuple&amp; <a href="#ObjectModel3DFrom"><i>ObjectModel3DFrom</i></a>, const HTuple&amp; <a href="#ObjectModel3DTo"><i>ObjectModel3DTo</i></a>, const HTuple&amp; <a href="#Pose"><i>Pose</i></a>, const HTuple&amp; <a href="#MaxDistance"><i>MaxDistance</i></a>, const HTuple&amp; <a href="#GenParamName"><i>GenParamName</i></a>, const HTuple&amp; <a href="#GenParamValue"><i>GenParamValue</i></a>)</code></p>
<p>
<code>void <a href="HObjectModel3D.html">HObjectModel3D</a>::<b>DistanceObjectModel3d</b>(const HObjectModel3D&amp; <a href="#ObjectModel3DTo"><i>ObjectModel3DTo</i></a>, const HPose&amp; <a href="#Pose"><i>Pose</i></a>, const HTuple&amp; <a href="#MaxDistance"><i>MaxDistance</i></a>, const HTuple&amp; <a href="#GenParamName"><i>GenParamName</i></a>, const HTuple&amp; <a href="#GenParamValue"><i>GenParamValue</i></a>) const</code></p>
<p>
<code>void <a href="HObjectModel3D.html">HObjectModel3D</a>::<b>DistanceObjectModel3d</b>(const HObjectModel3D&amp; <a href="#ObjectModel3DTo"><i>ObjectModel3DTo</i></a>, const HPose&amp; <a href="#Pose"><i>Pose</i></a>, double <a href="#MaxDistance"><i>MaxDistance</i></a>, const HString&amp; <a href="#GenParamName"><i>GenParamName</i></a>, const HString&amp; <a href="#GenParamValue"><i>GenParamValue</i></a>) const</code></p>
<p>
<code>void <a href="HObjectModel3D.html">HObjectModel3D</a>::<b>DistanceObjectModel3d</b>(const HObjectModel3D&amp; <a href="#ObjectModel3DTo"><i>ObjectModel3DTo</i></a>, const HPose&amp; <a href="#Pose"><i>Pose</i></a>, double <a href="#MaxDistance"><i>MaxDistance</i></a>, const char* <a href="#GenParamName"><i>GenParamName</i></a>, const char* <a href="#GenParamValue"><i>GenParamValue</i></a>) const</code></p>
<p>
<code>void <a href="HObjectModel3D.html">HObjectModel3D</a>::<b>DistanceObjectModel3d</b>(const HObjectModel3D&amp; <a href="#ObjectModel3DTo"><i>ObjectModel3DTo</i></a>, const HPose&amp; <a href="#Pose"><i>Pose</i></a>, double <a href="#MaxDistance"><i>MaxDistance</i></a>, const wchar_t* <a href="#GenParamName"><i>GenParamName</i></a>, const wchar_t* <a href="#GenParamValue"><i>GenParamValue</i></a>) const  <span class="signnote">
            (
            Windows only)
          </span></code></p>
</div>
<div data-if="com" style="display:none;"></div>
<div data-if="dotnet" style="display:none;">
<p>
<code>static void <a href="HOperatorSet.html">HOperatorSet</a>.<b>DistanceObjectModel3d</b>(<a href="HTuple.html">HTuple</a> <a href="#ObjectModel3DFrom"><i>objectModel3DFrom</i></a>, <a href="HTuple.html">HTuple</a> <a href="#ObjectModel3DTo"><i>objectModel3DTo</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Pose"><i>pose</i></a>, <a href="HTuple.html">HTuple</a> <a href="#MaxDistance"><i>maxDistance</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamName"><i>genParamName</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamValue"><i>genParamValue</i></a>)</code></p>
<p>
<code>void <a href="HObjectModel3D.html">HObjectModel3D</a>.<b>DistanceObjectModel3d</b>(<a href="HObjectModel3D.html">HObjectModel3D</a> <a href="#ObjectModel3DTo"><i>objectModel3DTo</i></a>, <a href="HPose.html">HPose</a> <a href="#Pose"><i>pose</i></a>, <a href="HTuple.html">HTuple</a> <a href="#MaxDistance"><i>maxDistance</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamName"><i>genParamName</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamValue"><i>genParamValue</i></a>)</code></p>
<p>
<code>void <a href="HObjectModel3D.html">HObjectModel3D</a>.<b>DistanceObjectModel3d</b>(<a href="HObjectModel3D.html">HObjectModel3D</a> <a href="#ObjectModel3DTo"><i>objectModel3DTo</i></a>, <a href="HPose.html">HPose</a> <a href="#Pose"><i>pose</i></a>, double <a href="#MaxDistance"><i>maxDistance</i></a>, string <a href="#GenParamName"><i>genParamName</i></a>, string <a href="#GenParamValue"><i>genParamValue</i></a>)</code></p>
</div>
<div data-if="python" style="display:none;">
<p>
<code>def <b>distance_object_model_3d</b>(<a href="#ObjectModel3DFrom"><i>object_model_3dfrom</i></a>: HHandle, <a href="#ObjectModel3DTo"><i>object_model_3dto</i></a>: HHandle, <a href="#Pose"><i>pose</i></a>: Sequence[Union[float, int]], <a href="#MaxDistance"><i>max_distance</i></a>: Union[float, int], <a href="#GenParamName"><i>gen_param_name</i></a>: MaybeSequence[str], <a href="#GenParamValue"><i>gen_param_value</i></a>: MaybeSequence[Union[int, str, float]]) -&gt; None</code></p>
</div>
<h2 id="sec_description">描述</h2>
<p>该算子 <code><span data-if="hdevelop" style="display:inline">distance_object_model_3d</span><span data-if="c" style="display:none">distance_object_model_3d</span><span data-if="cpp" style="display:none">DistanceObjectModel3d</span><span data-if="com" style="display:none">DistanceObjectModel3d</span><span data-if="dotnet" style="display:none">DistanceObjectModel3d</span><span data-if="python" style="display:none">distance_object_model_3d</span></code> computes the distances of
the points in the 3D object model <a href="#ObjectModel3DFrom"><i><code><span data-if="hdevelop" style="display:inline">ObjectModel3DFrom</span><span data-if="c" style="display:none">ObjectModel3DFrom</span><span data-if="cpp" style="display:none">ObjectModel3DFrom</span><span data-if="com" style="display:none">ObjectModel3DFrom</span><span data-if="dotnet" style="display:none">objectModel3DFrom</span><span data-if="python" style="display:none">object_model_3dfrom</span></code></i></a> to the
points, triangles, polygons, or primitive in the 3D object model
<a href="#ObjectModel3DTo"><i><code><span data-if="hdevelop" style="display:inline">ObjectModel3DTo</span><span data-if="c" style="display:none">ObjectModel3DTo</span><span data-if="cpp" style="display:none">ObjectModel3DTo</span><span data-if="com" style="display:none">ObjectModel3DTo</span><span data-if="dotnet" style="display:none">objectModel3DTo</span><span data-if="python" style="display:none">object_model_3dto</span></code></i></a>. The distances are stored as an extended attribute
named <i><span data-if="hdevelop" style="display:inline">'&amp;distance'</span><span data-if="c" style="display:none">"&amp;distance"</span><span data-if="cpp" style="display:none">"&amp;distance"</span><span data-if="com" style="display:none">"&amp;distance"</span><span data-if="dotnet" style="display:none">"&amp;distance"</span><span data-if="python" style="display:none">"&amp;distance"</span></i> in the 3D object model
<a href="#ObjectModel3DFrom"><i><code><span data-if="hdevelop" style="display:inline">ObjectModel3DFrom</span><span data-if="c" style="display:none">ObjectModel3DFrom</span><span data-if="cpp" style="display:none">ObjectModel3DFrom</span><span data-if="com" style="display:none">ObjectModel3DFrom</span><span data-if="dotnet" style="display:none">objectModel3DFrom</span><span data-if="python" style="display:none">object_model_3dfrom</span></code></i></a>. This attribute can subsequently be queried with
<a href="get_object_model_3d_params.html"><code><span data-if="hdevelop" style="display:inline">get_object_model_3d_params</span><span data-if="c" style="display:none">get_object_model_3d_params</span><span data-if="cpp" style="display:none">GetObjectModel3dParams</span><span data-if="com" style="display:none">GetObjectModel3dParams</span><span data-if="dotnet" style="display:none">GetObjectModel3dParams</span><span data-if="python" style="display:none">get_object_model_3d_params</span></code></a> or be processed with
<a href="select_points_object_model_3d.html"><code><span data-if="hdevelop" style="display:inline">select_points_object_model_3d</span><span data-if="c" style="display:none">select_points_object_model_3d</span><span data-if="cpp" style="display:none">SelectPointsObjectModel3d</span><span data-if="com" style="display:none">SelectPointsObjectModel3d</span><span data-if="dotnet" style="display:none">SelectPointsObjectModel3d</span><span data-if="python" style="display:none">select_points_object_model_3d</span></code></a> or other operators that use
extended attributes.
</p>
<p>The target data (points, triangles, polygons, or primitive) is selected
based on the attributes contained in <a href="#ObjectModel3DTo"><i><code><span data-if="hdevelop" style="display:inline">ObjectModel3DTo</span><span data-if="c" style="display:none">ObjectModel3DTo</span><span data-if="cpp" style="display:none">ObjectModel3DTo</span><span data-if="com" style="display:none">ObjectModel3DTo</span><span data-if="dotnet" style="display:none">objectModel3DTo</span><span data-if="python" style="display:none">object_model_3dto</span></code></i></a>.
It is selected based on the presence of the data in the following precedence:
Primitive, triangles, polygons, and points.
As alternative to this automatic target data selection, the target data
type can also be set with the generic parameter <i><span data-if="hdevelop" style="display:inline">'distance_to'</span><span data-if="c" style="display:none">"distance_to"</span><span data-if="cpp" style="display:none">"distance_to"</span><span data-if="com" style="display:none">"distance_to"</span><span data-if="dotnet" style="display:none">"distance_to"</span><span data-if="python" style="display:none">"distance_to"</span></i>
(see below).
Generic, non-triangular polygons are internally triangulated by 该算子
before the distance to the resulting triangles is calculated. Thus,
calling 该算子 with triangulated objects is faster than calling
it with objects having different polygon faces.
</p>
<p><a href="#MaxDistance"><i><code><span data-if="hdevelop" style="display:inline">MaxDistance</span><span data-if="c" style="display:none">MaxDistance</span><span data-if="cpp" style="display:none">MaxDistance</span><span data-if="com" style="display:none">MaxDistance</span><span data-if="dotnet" style="display:none">maxDistance</span><span data-if="python" style="display:none">max_distance</span></code></i></a> can be used to limit the range of the distance values
to be computed. If <a href="#MaxDistance"><i><code><span data-if="hdevelop" style="display:inline">MaxDistance</span><span data-if="c" style="display:none">MaxDistance</span><span data-if="cpp" style="display:none">MaxDistance</span><span data-if="com" style="display:none">MaxDistance</span><span data-if="dotnet" style="display:none">maxDistance</span><span data-if="python" style="display:none">max_distance</span></code></i></a> is set to <i>0</i>, all distances
are computed. If <a href="#MaxDistance"><i><code><span data-if="hdevelop" style="display:inline">MaxDistance</span><span data-if="c" style="display:none">MaxDistance</span><span data-if="cpp" style="display:none">MaxDistance</span><span data-if="com" style="display:none">MaxDistance</span><span data-if="dotnet" style="display:none">maxDistance</span><span data-if="python" style="display:none">max_distance</span></code></i></a> is set to another value, points whose
distance would exceed <a href="#MaxDistance"><i><code><span data-if="hdevelop" style="display:inline">MaxDistance</span><span data-if="c" style="display:none">MaxDistance</span><span data-if="cpp" style="display:none">MaxDistance</span><span data-if="com" style="display:none">MaxDistance</span><span data-if="dotnet" style="display:none">maxDistance</span><span data-if="python" style="display:none">max_distance</span></code></i></a> are not processed and set to
<a href="#MaxDistance"><i><code><span data-if="hdevelop" style="display:inline">MaxDistance</span><span data-if="c" style="display:none">MaxDistance</span><span data-if="cpp" style="display:none">MaxDistance</span><span data-if="com" style="display:none">MaxDistance</span><span data-if="dotnet" style="display:none">maxDistance</span><span data-if="python" style="display:none">max_distance</span></code></i></a>. Thus, setting <a href="#MaxDistance"><i><code><span data-if="hdevelop" style="display:inline">MaxDistance</span><span data-if="c" style="display:none">MaxDistance</span><span data-if="cpp" style="display:none">MaxDistance</span><span data-if="com" style="display:none">MaxDistance</span><span data-if="dotnet" style="display:none">maxDistance</span><span data-if="python" style="display:none">max_distance</span></code></i></a> to a value different
than <i>0</i> can significantly speed up the execution of this operator.
</p>
<p>If <a href="#Pose"><i><code><span data-if="hdevelop" style="display:inline">Pose</span><span data-if="c" style="display:none">Pose</span><span data-if="cpp" style="display:none">Pose</span><span data-if="com" style="display:none">Pose</span><span data-if="dotnet" style="display:none">pose</span><span data-if="python" style="display:none">pose</span></code></i></a> is a non-empty tuple, it must contain a pose which is
applied to the points in <a href="#ObjectModel3DFrom"><i><code><span data-if="hdevelop" style="display:inline">ObjectModel3DFrom</span><span data-if="c" style="display:none">ObjectModel3DFrom</span><span data-if="cpp" style="display:none">ObjectModel3DFrom</span><span data-if="com" style="display:none">ObjectModel3DFrom</span><span data-if="dotnet" style="display:none">objectModel3DFrom</span><span data-if="python" style="display:none">object_model_3dfrom</span></code></i></a> before
computing the distances. The pose can be inverted using the generic
parameter <i><span data-if="hdevelop" style="display:inline">'invert_pose'</span><span data-if="c" style="display:none">"invert_pose"</span><span data-if="cpp" style="display:none">"invert_pose"</span><span data-if="com" style="display:none">"invert_pose"</span><span data-if="dotnet" style="display:none">"invert_pose"</span><span data-if="python" style="display:none">"invert_pose"</span></i> (see below).
</p>
<p>Depending on the target data type (points, triangles, or primitive), several
methods for computing the distances are available.
Some of these methods compute a data structure on the elements of
<a href="#ObjectModel3DTo"><i><code><span data-if="hdevelop" style="display:inline">ObjectModel3DTo</span><span data-if="c" style="display:none">ObjectModel3DTo</span><span data-if="cpp" style="display:none">ObjectModel3DTo</span><span data-if="com" style="display:none">ObjectModel3DTo</span><span data-if="dotnet" style="display:none">objectModel3DTo</span><span data-if="python" style="display:none">object_model_3dto</span></code></i></a> to speed up the distance computation.
Those data structures can be precomputed using 该算子
<a href="prepare_object_model_3d.html"><code><span data-if="hdevelop" style="display:inline">prepare_object_model_3d</span><span data-if="c" style="display:none">prepare_object_model_3d</span><span data-if="cpp" style="display:none">PrepareObjectModel3d</span><span data-if="com" style="display:none">PrepareObjectModel3d</span><span data-if="dotnet" style="display:none">PrepareObjectModel3d</span><span data-if="python" style="display:none">prepare_object_model_3d</span></code></a>. This allows multiple calls to
<code><span data-if="hdevelop" style="display:inline">distance_object_model_3d</span><span data-if="c" style="display:none">distance_object_model_3d</span><span data-if="cpp" style="display:none">DistanceObjectModel3d</span><span data-if="com" style="display:none">DistanceObjectModel3d</span><span data-if="dotnet" style="display:none">DistanceObjectModel3d</span><span data-if="python" style="display:none">distance_object_model_3d</span></code> to re-use the data structure, thus saving
the time to re-compute it for each call. For objects with non-triangular
polygon faces, 该算子 <a href="prepare_object_model_3d.html"><code><span data-if="hdevelop" style="display:inline">prepare_object_model_3d</span><span data-if="c" style="display:none">prepare_object_model_3d</span><span data-if="cpp" style="display:none">PrepareObjectModel3d</span><span data-if="com" style="display:none">PrepareObjectModel3d</span><span data-if="dotnet" style="display:none">PrepareObjectModel3d</span><span data-if="python" style="display:none">prepare_object_model_3d</span></code></a> can additionally
perform the triangulation and save it to the object to further speed-up
the <code><span data-if="hdevelop" style="display:inline">distance_object_model_3d</span><span data-if="c" style="display:none">distance_object_model_3d</span><span data-if="cpp" style="display:none">DistanceObjectModel3d</span><span data-if="com" style="display:none">DistanceObjectModel3d</span><span data-if="dotnet" style="display:none">DistanceObjectModel3d</span><span data-if="python" style="display:none">distance_object_model_3d</span></code> operator. This triangulation is only
performed when the generic parameter <i><span data-if="hdevelop" style="display:inline">'distance_to'</span><span data-if="c" style="display:none">"distance_to"</span><span data-if="cpp" style="display:none">"distance_to"</span><span data-if="com" style="display:none">"distance_to"</span><span data-if="dotnet" style="display:none">"distance_to"</span><span data-if="python" style="display:none">"distance_to"</span></i> is set to
<i><span data-if="hdevelop" style="display:inline">'triangles'</span><span data-if="c" style="display:none">"triangles"</span><span data-if="cpp" style="display:none">"triangles"</span><span data-if="com" style="display:none">"triangles"</span><span data-if="dotnet" style="display:none">"triangles"</span><span data-if="python" style="display:none">"triangles"</span></i>. Note that this triangulation, contrary to that of the
operator <a href="triangulate_object_model_3d.html"><code><span data-if="hdevelop" style="display:inline">triangulate_object_model_3d</span><span data-if="c" style="display:none">triangulate_object_model_3d</span><span data-if="cpp" style="display:none">TriangulateObjectModel3d</span><span data-if="com" style="display:none">TriangulateObjectModel3d</span><span data-if="dotnet" style="display:none">TriangulateObjectModel3d</span><span data-if="python" style="display:none">triangulate_object_model_3d</span></code></a>, does not clear out the
polygons attribute.
</p>
<p>When computing the distance to points or to triangles, 该算子
can optionally return the index of the closest point or triangle for each
point in <a href="#ObjectModel3DFrom"><i><code><span data-if="hdevelop" style="display:inline">ObjectModel3DFrom</span><span data-if="c" style="display:none">ObjectModel3DFrom</span><span data-if="cpp" style="display:none">ObjectModel3DFrom</span><span data-if="com" style="display:none">ObjectModel3DFrom</span><span data-if="dotnet" style="display:none">objectModel3DFrom</span><span data-if="python" style="display:none">object_model_3dfrom</span></code></i></a> by setting the generic parameter
<i><span data-if="hdevelop" style="display:inline">'store_closest_index'</span><span data-if="c" style="display:none">"store_closest_index"</span><span data-if="cpp" style="display:none">"store_closest_index"</span><span data-if="com" style="display:none">"store_closest_index"</span><span data-if="dotnet" style="display:none">"store_closest_index"</span><span data-if="python" style="display:none">"store_closest_index"</span></i> to <i><span data-if="hdevelop" style="display:inline">'true'</span><span data-if="c" style="display:none">"true"</span><span data-if="cpp" style="display:none">"true"</span><span data-if="com" style="display:none">"true"</span><span data-if="dotnet" style="display:none">"true"</span><span data-if="python" style="display:none">"true"</span></i> (see below).
The index is stored as extended attribute named
<i><span data-if="hdevelop" style="display:inline">'&amp;closest_index'</span><span data-if="c" style="display:none">"&amp;closest_index"</span><span data-if="cpp" style="display:none">"&amp;closest_index"</span><span data-if="com" style="display:none">"&amp;closest_index"</span><span data-if="dotnet" style="display:none">"&amp;closest_index"</span><span data-if="python" style="display:none">"&amp;closest_index"</span></i> in the 3D object model <a href="#ObjectModel3DFrom"><i><code><span data-if="hdevelop" style="display:inline">ObjectModel3DFrom</span><span data-if="c" style="display:none">ObjectModel3DFrom</span><span data-if="cpp" style="display:none">ObjectModel3DFrom</span><span data-if="com" style="display:none">ObjectModel3DFrom</span><span data-if="dotnet" style="display:none">objectModel3DFrom</span><span data-if="python" style="display:none">object_model_3dfrom</span></code></i></a>.
Note that the closest index can not be computed when using the
<i><span data-if="hdevelop" style="display:inline">'voxel'</span><span data-if="c" style="display:none">"voxel"</span><span data-if="cpp" style="display:none">"voxel"</span><span data-if="com" style="display:none">"voxel"</span><span data-if="dotnet" style="display:none">"voxel"</span><span data-if="python" style="display:none">"voxel"</span></i> method.
If a point's distance to its closest element exceeds the maximum distance
set in <a href="#MaxDistance"><i><code><span data-if="hdevelop" style="display:inline">MaxDistance</span><span data-if="c" style="display:none">MaxDistance</span><span data-if="cpp" style="display:none">MaxDistance</span><span data-if="com" style="display:none">MaxDistance</span><span data-if="dotnet" style="display:none">maxDistance</span><span data-if="python" style="display:none">max_distance</span></code></i></a>, the closest index is set to -1.
</p>
<p>Optionally, signed distances to points, triangles or to a primitive can be
calculated. Therefore, the generic parameter <i><span data-if="hdevelop" style="display:inline">'signed_distances'</span><span data-if="c" style="display:none">"signed_distances"</span><span data-if="cpp" style="display:none">"signed_distances"</span><span data-if="com" style="display:none">"signed_distances"</span><span data-if="dotnet" style="display:none">"signed_distances"</span><span data-if="python" style="display:none">"signed_distances"</span></i> has
to be set to <i><span data-if="hdevelop" style="display:inline">'true'</span><span data-if="c" style="display:none">"true"</span><span data-if="cpp" style="display:none">"true"</span><span data-if="com" style="display:none">"true"</span><span data-if="dotnet" style="display:none">"true"</span><span data-if="python" style="display:none">"true"</span></i>.
Note that signed distances can not be computed when using the
<i><span data-if="hdevelop" style="display:inline">'voxel'</span><span data-if="c" style="display:none">"voxel"</span><span data-if="cpp" style="display:none">"voxel"</span><span data-if="com" style="display:none">"voxel"</span><span data-if="dotnet" style="display:none">"voxel"</span><span data-if="python" style="display:none">"voxel"</span></i> method in combination with point to point distances.
</p>
<p>In the following, the different target types and methods are explained,
and their advantages and disadvantages are described. Note that
该算子 automatically selects a default method depending on
the target data type. This method can be overridden using the
generic parameter <i><span data-if="hdevelop" style="display:inline">'method'</span><span data-if="c" style="display:none">"method"</span><span data-if="cpp" style="display:none">"method"</span><span data-if="com" style="display:none">"method"</span><span data-if="dotnet" style="display:none">"method"</span><span data-if="python" style="display:none">"method"</span></i>.
</p>
<dl class="generic">

<dt><b>Distance to points:</b></dt>
<dd>
<p>
 The following methods are available to compute
the distances from points to points:
</p>
<dl class="generic">

<dt><b>Linear search:</b></dt>
<dd>
<p>
 For each point in <a href="#ObjectModel3DFrom"><i><code><span data-if="hdevelop" style="display:inline">ObjectModel3DFrom</span><span data-if="c" style="display:none">ObjectModel3DFrom</span><span data-if="cpp" style="display:none">ObjectModel3DFrom</span><span data-if="com" style="display:none">ObjectModel3DFrom</span><span data-if="dotnet" style="display:none">objectModel3DFrom</span><span data-if="python" style="display:none">object_model_3dfrom</span></code></i></a>,
the distances to all points in <a href="#ObjectModel3DTo"><i><code><span data-if="hdevelop" style="display:inline">ObjectModel3DTo</span><span data-if="c" style="display:none">ObjectModel3DTo</span><span data-if="cpp" style="display:none">ObjectModel3DTo</span><span data-if="com" style="display:none">ObjectModel3DTo</span><span data-if="dotnet" style="display:none">objectModel3DTo</span><span data-if="python" style="display:none">object_model_3dto</span></code></i></a> are computed,
and the smallest distance is used.
This method requires no precomputed data structure, and is the
fastest for a small number of points in <a href="#ObjectModel3DTo"><i><code><span data-if="hdevelop" style="display:inline">ObjectModel3DTo</span><span data-if="c" style="display:none">ObjectModel3DTo</span><span data-if="cpp" style="display:none">ObjectModel3DTo</span><span data-if="com" style="display:none">ObjectModel3DTo</span><span data-if="dotnet" style="display:none">objectModel3DTo</span><span data-if="python" style="display:none">object_model_3dto</span></code></i></a>.
</p>
</dd>

<dt><b>KD-Tree:</b></dt>
<dd>
<p>
 The points in <a href="#ObjectModel3DTo"><i><code><span data-if="hdevelop" style="display:inline">ObjectModel3DTo</span><span data-if="c" style="display:none">ObjectModel3DTo</span><span data-if="cpp" style="display:none">ObjectModel3DTo</span><span data-if="com" style="display:none">ObjectModel3DTo</span><span data-if="dotnet" style="display:none">objectModel3DTo</span><span data-if="python" style="display:none">object_model_3dto</span></code></i></a> are organized in
a KD-Tree, which speeds up the search for the closest point.
The construction of the tree is very efficient.
The search time is approximately logarithmic to the number of
points in <a href="#ObjectModel3DTo"><i><code><span data-if="hdevelop" style="display:inline">ObjectModel3DTo</span><span data-if="c" style="display:none">ObjectModel3DTo</span><span data-if="cpp" style="display:none">ObjectModel3DTo</span><span data-if="com" style="display:none">ObjectModel3DTo</span><span data-if="dotnet" style="display:none">objectModel3DTo</span><span data-if="python" style="display:none">object_model_3dto</span></code></i></a>.
However, the search time is not constant, and can vary significantly
depending on the position of the query points in
<a href="#ObjectModel3DFrom"><i><code><span data-if="hdevelop" style="display:inline">ObjectModel3DFrom</span><span data-if="c" style="display:none">ObjectModel3DFrom</span><span data-if="cpp" style="display:none">ObjectModel3DFrom</span><span data-if="com" style="display:none">ObjectModel3DFrom</span><span data-if="dotnet" style="display:none">objectModel3DFrom</span><span data-if="python" style="display:none">object_model_3dfrom</span></code></i></a>.
</p>
</dd>

<dt><b>Voxel:</b></dt>
<dd>
<p>
 The points in <a href="#ObjectModel3DTo"><i><code><span data-if="hdevelop" style="display:inline">ObjectModel3DTo</span><span data-if="c" style="display:none">ObjectModel3DTo</span><span data-if="cpp" style="display:none">ObjectModel3DTo</span><span data-if="com" style="display:none">ObjectModel3DTo</span><span data-if="dotnet" style="display:none">objectModel3DTo</span><span data-if="python" style="display:none">object_model_3dto</span></code></i></a> are organized in a
voxel structure.
This voxel structure allows searching in almost constant time, i.e.,
independent from the position of the query points in
<a href="#ObjectModel3DFrom"><i><code><span data-if="hdevelop" style="display:inline">ObjectModel3DFrom</span><span data-if="c" style="display:none">ObjectModel3DFrom</span><span data-if="cpp" style="display:none">ObjectModel3DFrom</span><span data-if="com" style="display:none">ObjectModel3DFrom</span><span data-if="dotnet" style="display:none">objectModel3DFrom</span><span data-if="python" style="display:none">object_model_3dfrom</span></code></i></a> and the number of points
in <a href="#ObjectModel3DTo"><i><code><span data-if="hdevelop" style="display:inline">ObjectModel3DTo</span><span data-if="c" style="display:none">ObjectModel3DTo</span><span data-if="cpp" style="display:none">ObjectModel3DTo</span><span data-if="com" style="display:none">ObjectModel3DTo</span><span data-if="dotnet" style="display:none">objectModel3DTo</span><span data-if="python" style="display:none">object_model_3dto</span></code></i></a>.
</p>
<p>Note that the preparation of this data structure takes several seconds
or minutes. However, it is possible to perform a precomputation using
<a href="prepare_object_model_3d.html"><code><span data-if="hdevelop" style="display:inline">prepare_object_model_3d</span><span data-if="c" style="display:none">prepare_object_model_3d</span><span data-if="cpp" style="display:none">PrepareObjectModel3d</span><span data-if="com" style="display:none">PrepareObjectModel3d</span><span data-if="dotnet" style="display:none">PrepareObjectModel3d</span><span data-if="python" style="display:none">prepare_object_model_3d</span></code></a> on <a href="#ObjectModel3DTo"><i><code><span data-if="hdevelop" style="display:inline">ObjectModel3DTo</span><span data-if="c" style="display:none">ObjectModel3DTo</span><span data-if="cpp" style="display:none">ObjectModel3DTo</span><span data-if="com" style="display:none">ObjectModel3DTo</span><span data-if="dotnet" style="display:none">objectModel3DTo</span><span data-if="python" style="display:none">object_model_3dto</span></code></i></a>
with <code><span data-if="hdevelop" style="display:inline">Purpose</span><span data-if="c" style="display:none">Purpose</span><span data-if="cpp" style="display:none">Purpose</span><span data-if="com" style="display:none">Purpose</span><span data-if="dotnet" style="display:none">purpose</span><span data-if="python" style="display:none">purpose</span></code> set to <i><span data-if="hdevelop" style="display:inline">'distance_computation'</span><span data-if="c" style="display:none">"distance_computation"</span><span data-if="cpp" style="display:none">"distance_computation"</span><span data-if="com" style="display:none">"distance_computation"</span><span data-if="dotnet" style="display:none">"distance_computation"</span><span data-if="python" style="display:none">"distance_computation"</span></i>.
</p>
</dd>
</dl>

</dd>

<dt><b>Distance to triangles:</b></dt>
<dd>
<p>
 For computing the distances to triangles,
the following methods are supported:
</p>
<dl class="generic">

<dt><b>Linear search:</b></dt>
<dd>
<p>
 For each point in <a href="#ObjectModel3DFrom"><i><code><span data-if="hdevelop" style="display:inline">ObjectModel3DFrom</span><span data-if="c" style="display:none">ObjectModel3DFrom</span><span data-if="cpp" style="display:none">ObjectModel3DFrom</span><span data-if="com" style="display:none">ObjectModel3DFrom</span><span data-if="dotnet" style="display:none">objectModel3DFrom</span><span data-if="python" style="display:none">object_model_3dfrom</span></code></i></a>,
the distances to all triangles in <a href="#ObjectModel3DTo"><i><code><span data-if="hdevelop" style="display:inline">ObjectModel3DTo</span><span data-if="c" style="display:none">ObjectModel3DTo</span><span data-if="cpp" style="display:none">ObjectModel3DTo</span><span data-if="com" style="display:none">ObjectModel3DTo</span><span data-if="dotnet" style="display:none">objectModel3DTo</span><span data-if="python" style="display:none">object_model_3dto</span></code></i></a> are computed,
and the smallest distance is used.
This method requires no precomputed data structure, and is the
fastest for a small number of triangles in <a href="#ObjectModel3DTo"><i><code><span data-if="hdevelop" style="display:inline">ObjectModel3DTo</span><span data-if="c" style="display:none">ObjectModel3DTo</span><span data-if="cpp" style="display:none">ObjectModel3DTo</span><span data-if="com" style="display:none">ObjectModel3DTo</span><span data-if="dotnet" style="display:none">objectModel3DTo</span><span data-if="python" style="display:none">object_model_3dto</span></code></i></a>.
</p>
</dd>

<dt><b>KD-Tree:</b></dt>
<dd>
<p>
 The triangles in <a href="#ObjectModel3DTo"><i><code><span data-if="hdevelop" style="display:inline">ObjectModel3DTo</span><span data-if="c" style="display:none">ObjectModel3DTo</span><span data-if="cpp" style="display:none">ObjectModel3DTo</span><span data-if="com" style="display:none">ObjectModel3DTo</span><span data-if="dotnet" style="display:none">objectModel3DTo</span><span data-if="python" style="display:none">object_model_3dto</span></code></i></a> are organized in
a KD-Tree, which speeds up the search for the closest triangle.
The construction of the tree is efficient.
The search time is approximately logarithmic to the number of
triangles in <a href="#ObjectModel3DTo"><i><code><span data-if="hdevelop" style="display:inline">ObjectModel3DTo</span><span data-if="c" style="display:none">ObjectModel3DTo</span><span data-if="cpp" style="display:none">ObjectModel3DTo</span><span data-if="com" style="display:none">ObjectModel3DTo</span><span data-if="dotnet" style="display:none">objectModel3DTo</span><span data-if="python" style="display:none">object_model_3dto</span></code></i></a>.
However, the search time is not constant, and can vary significantly
depending on the position of the query points in
<a href="#ObjectModel3DFrom"><i><code><span data-if="hdevelop" style="display:inline">ObjectModel3DFrom</span><span data-if="c" style="display:none">ObjectModel3DFrom</span><span data-if="cpp" style="display:none">ObjectModel3DFrom</span><span data-if="com" style="display:none">ObjectModel3DFrom</span><span data-if="dotnet" style="display:none">objectModel3DFrom</span><span data-if="python" style="display:none">object_model_3dfrom</span></code></i></a>.
</p>
</dd>

<dt><b>Voxel:</b></dt>
<dd>
<p>
 The triangles in <a href="#ObjectModel3DTo"><i><code><span data-if="hdevelop" style="display:inline">ObjectModel3DTo</span><span data-if="c" style="display:none">ObjectModel3DTo</span><span data-if="cpp" style="display:none">ObjectModel3DTo</span><span data-if="com" style="display:none">ObjectModel3DTo</span><span data-if="dotnet" style="display:none">objectModel3DTo</span><span data-if="python" style="display:none">object_model_3dto</span></code></i></a> are organized in a
voxel structure.
This voxel structure allows searching in almost constant time, i.e.,
independent from the position of the query points in
<a href="#ObjectModel3DFrom"><i><code><span data-if="hdevelop" style="display:inline">ObjectModel3DFrom</span><span data-if="c" style="display:none">ObjectModel3DFrom</span><span data-if="cpp" style="display:none">ObjectModel3DFrom</span><span data-if="com" style="display:none">ObjectModel3DFrom</span><span data-if="dotnet" style="display:none">objectModel3DFrom</span><span data-if="python" style="display:none">object_model_3dfrom</span></code></i></a> and the number of triangles
in <a href="#ObjectModel3DTo"><i><code><span data-if="hdevelop" style="display:inline">ObjectModel3DTo</span><span data-if="c" style="display:none">ObjectModel3DTo</span><span data-if="cpp" style="display:none">ObjectModel3DTo</span><span data-if="com" style="display:none">ObjectModel3DTo</span><span data-if="dotnet" style="display:none">objectModel3DTo</span><span data-if="python" style="display:none">object_model_3dto</span></code></i></a>.
</p>
<p>Note that the preparation of this data structure takes several seconds
or minutes. However, it is possible to perform a precomputation using
<a href="prepare_object_model_3d.html"><code><span data-if="hdevelop" style="display:inline">prepare_object_model_3d</span><span data-if="c" style="display:none">prepare_object_model_3d</span><span data-if="cpp" style="display:none">PrepareObjectModel3d</span><span data-if="com" style="display:none">PrepareObjectModel3d</span><span data-if="dotnet" style="display:none">PrepareObjectModel3d</span><span data-if="python" style="display:none">prepare_object_model_3d</span></code></a> on <a href="#ObjectModel3DTo"><i><code><span data-if="hdevelop" style="display:inline">ObjectModel3DTo</span><span data-if="c" style="display:none">ObjectModel3DTo</span><span data-if="cpp" style="display:none">ObjectModel3DTo</span><span data-if="com" style="display:none">ObjectModel3DTo</span><span data-if="dotnet" style="display:none">objectModel3DTo</span><span data-if="python" style="display:none">object_model_3dto</span></code></i></a>
with <code><span data-if="hdevelop" style="display:inline">Purpose</span><span data-if="c" style="display:none">Purpose</span><span data-if="cpp" style="display:none">Purpose</span><span data-if="com" style="display:none">Purpose</span><span data-if="dotnet" style="display:none">purpose</span><span data-if="python" style="display:none">purpose</span></code> set to <i><span data-if="hdevelop" style="display:inline">'distance_computation'</span><span data-if="c" style="display:none">"distance_computation"</span><span data-if="cpp" style="display:none">"distance_computation"</span><span data-if="com" style="display:none">"distance_computation"</span><span data-if="dotnet" style="display:none">"distance_computation"</span><span data-if="python" style="display:none">"distance_computation"</span></i>.
For creating the voxel data structure, the triangles are sampled.
The corresponding sampling distance can be set with the generic
parameters <i><span data-if="hdevelop" style="display:inline">'sampling_dist_rel'</span><span data-if="c" style="display:none">"sampling_dist_rel"</span><span data-if="cpp" style="display:none">"sampling_dist_rel"</span><span data-if="com" style="display:none">"sampling_dist_rel"</span><span data-if="dotnet" style="display:none">"sampling_dist_rel"</span><span data-if="python" style="display:none">"sampling_dist_rel"</span></i> and <i><span data-if="hdevelop" style="display:inline">'sampling_dist_abs'</span><span data-if="c" style="display:none">"sampling_dist_abs"</span><span data-if="cpp" style="display:none">"sampling_dist_abs"</span><span data-if="com" style="display:none">"sampling_dist_abs"</span><span data-if="dotnet" style="display:none">"sampling_dist_abs"</span><span data-if="python" style="display:none">"sampling_dist_abs"</span></i>.
</p>
<p>By default, a relative sampling distance of <i>0.03</i> is used.
See below for a more detailed description of the sampling distance.
Note that this data structure is only approximate. It is possible that
some of the distances are off by around 10% of the sampling distance.
In these cases, the returned distances will always be larger than the
actual distances.
</p>
</dd>
</dl>

</dd>

<dt><b>Distance to primitive:</b></dt>
<dd>
<p>
 Since <a href="#ObjectModel3DTo"><i><code><span data-if="hdevelop" style="display:inline">ObjectModel3DTo</span><span data-if="c" style="display:none">ObjectModel3DTo</span><span data-if="cpp" style="display:none">ObjectModel3DTo</span><span data-if="com" style="display:none">ObjectModel3DTo</span><span data-if="dotnet" style="display:none">objectModel3DTo</span><span data-if="python" style="display:none">object_model_3dto</span></code></i></a> can contain
only one primitive, the distances from the query points to this primitive
are computed linearly.
The creation or usage of a data structure is not possible.
</p>
<p>Note that computing the distance to primitive planes fitted with
<a href="segment_object_model_3d.html"><code><span data-if="hdevelop" style="display:inline">segment_object_model_3d</span><span data-if="c" style="display:none">segment_object_model_3d</span><span data-if="cpp" style="display:none">SegmentObjectModel3d</span><span data-if="com" style="display:none">SegmentObjectModel3d</span><span data-if="dotnet" style="display:none">SegmentObjectModel3d</span><span data-if="python" style="display:none">segment_object_model_3d</span></code></a> or <a href="fit_primitives_object_model_3d.html"><code><span data-if="hdevelop" style="display:inline">fit_primitives_object_model_3d</span><span data-if="c" style="display:none">fit_primitives_object_model_3d</span><span data-if="cpp" style="display:none">FitPrimitivesObjectModel3d</span><span data-if="com" style="display:none">FitPrimitivesObjectModel3d</span><span data-if="dotnet" style="display:none">FitPrimitivesObjectModel3d</span><span data-if="python" style="display:none">fit_primitives_object_model_3d</span></code></a>
can be slow, since those planes contain a complex convex hull of the
points that were used to fit the plane.
If only the distance to the plane is required, and the boundary should
be ignored, it is recommended to obtain the plane pose using
<a href="get_object_model_3d_params.html"><code><span data-if="hdevelop" style="display:inline">get_object_model_3d_params</span><span data-if="c" style="display:none">get_object_model_3d_params</span><span data-if="cpp" style="display:none">GetObjectModel3dParams</span><span data-if="com" style="display:none">GetObjectModel3dParams</span><span data-if="dotnet" style="display:none">GetObjectModel3dParams</span><span data-if="python" style="display:none">get_object_model_3d_params</span></code></a> with parameter
<i><span data-if="hdevelop" style="display:inline">'primitive_parameter_pose'</span><span data-if="c" style="display:none">"primitive_parameter_pose"</span><span data-if="cpp" style="display:none">"primitive_parameter_pose"</span><span data-if="com" style="display:none">"primitive_parameter_pose"</span><span data-if="dotnet" style="display:none">"primitive_parameter_pose"</span><span data-if="python" style="display:none">"primitive_parameter_pose"</span></i> and create a new plane
using <a href="gen_plane_object_model_3d.html"><code><span data-if="hdevelop" style="display:inline">gen_plane_object_model_3d</span><span data-if="c" style="display:none">gen_plane_object_model_3d</span><span data-if="cpp" style="display:none">GenPlaneObjectModel3d</span><span data-if="com" style="display:none">GenPlaneObjectModel3d</span><span data-if="dotnet" style="display:none">GenPlaneObjectModel3d</span><span data-if="python" style="display:none">gen_plane_object_model_3d</span></code></a>.
</p>
</dd>
</dl>
<p>The following table lists the different target data types, methods, and their
properties. The search time is the approximate time per point in
<a href="#ObjectModel3DFrom"><i><code><span data-if="hdevelop" style="display:inline">ObjectModel3DFrom</span><span data-if="c" style="display:none">ObjectModel3DFrom</span><span data-if="cpp" style="display:none">ObjectModel3DFrom</span><span data-if="com" style="display:none">ObjectModel3DFrom</span><span data-if="dotnet" style="display:none">objectModel3DFrom</span><span data-if="python" style="display:none">object_model_3dfrom</span></code></i></a>. N is the number of target elements
in <a href="#ObjectModel3DTo"><i><code><span data-if="hdevelop" style="display:inline">ObjectModel3DTo</span><span data-if="c" style="display:none">ObjectModel3DTo</span><span data-if="cpp" style="display:none">ObjectModel3DTo</span><span data-if="com" style="display:none">ObjectModel3DTo</span><span data-if="dotnet" style="display:none">objectModel3DTo</span><span data-if="python" style="display:none">object_model_3dto</span></code></i></a>.
</p>
<div style="text-align:center"><table style="width:100%;margin-left:auto;margin-right:auto" class="table">
<col span="1" style="width:14%;">
<col span="1" style="width:12%;">
<col span="1" style="width:18%;">
<col span="1" style="width:18%;">
<col span="1" style="width:38%;">
<tr>
<th style="text-align:left">
Target Data
</th>
<th style="text-align:left"> Method
</th>
<th style="text-align:left"> Creation Time
</th>
<th style="text-align:left"> Approximate Search Time
</th>
<th style="text-align:left"> Properties </th>
</tr>
<tr>
<td style="text-align:left">
points    </td>
<td style="text-align:left">linear    </td>
<td style="text-align:left">0             </td>
<td style="text-align:left"> <span title="1" style="vertical-align:-0.37221em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="2.59757em" height="1.12127em" viewBox="0 0 41.561111 17.940399">
<!-- Original BoundingBox: -20.780563 -8.970200 20.780548 8.970200 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_40">
      <path style="fill-rule: evenodd;" d="M331.000000 240.000000C331.000000 237.000000,331.000000 235.000000,314.000000 218.000000C189.000000 92.000000,157.000000 -97.000000,157.000000 -250.000000C157.000000 -424.000000,195.000000 -598.000000,318.000000 -723.000000C331.000000 -735.000000,331.000000 -737.000000,331.000000 -740.000000C331.000000 -747.000000,327.000000 -750.000000,321.000000 -750.000000C311.000000 -750.000000,221.000000 -682.000000,162.000000 -555.000000C111.000000 -445.000000,99.000000 -334.000000,99.000000 -250.000000C99.000000 -172.000000,110.000000 -51.000000,165.000000 62.000000C225.000000 185.000000,311.000000 250.000000,321.000000 250.000000C327.000000 250.000000,331.000000 247.000000,331.000000 240.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_41">
      <path style="fill-rule: evenodd;" d="M289.000000 -250.000000C289.000000 -328.000000,278.000000 -449.000000,223.000000 -562.000000C163.000000 -685.000000,77.000000 -750.000000,67.000000 -750.000000C61.000000 -750.000000,57.000000 -746.000000,57.000000 -740.000000C57.000000 -737.000000,57.000000 -735.000000,76.000000 -717.000000C174.000000 -618.000000,231.000000 -459.000000,231.000000 -250.000000C231.000000 -79.000000,194.000000 97.000000,70.000000 223.000000C57.000000 235.000000,57.000000 237.000000,57.000000 240.000000C57.000000 246.000000,61.000000 250.000000,67.000000 250.000000C77.000000 250.000000,167.000000 182.000000,226.000000 55.000000C277.000000 -55.000000,289.000000 -166.000000,289.000000 -250.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_78">
      <path style="fill-rule: evenodd;" d="M756.000000 -578.000000C766.000000 -618.000000,784.000000 -649.000000,864.000000 -652.000000C869.000000 -652.000000,881.000000 -653.000000,881.000000 -672.000000C881.000000 -673.000000,881.000000 -683.000000,868.000000 -683.000000L767.000000 -683.000000L835.000000 -683.000000L800.000000 -680.000000L767.000000 -680.000000L733.000000 -680.000000L698.000000 -683.000000L665.000000 -683.000000C659.000000 -683.000000,647.000000 -683.000000,647.000000 -663.000000C647.000000 -652.000000,657.000000 -652.000000,665.000000 -652.000000C722.000000 -651.000000,733.000000 -630.000000,733.000000 -608.000000C733.000000 -605.000000,731.000000 -590.000000,730.000000 -587.000000L618.000000 -142.000000L397.000000 -664.000000C389.000000 -682.000000,388.000000 -683.000000,365.000000 -683.000000L231.000000 -683.000000C211.000000 -683.000000,202.000000 -683.000000,202.000000 -663.000000C202.000000 -652.000000,211.000000 -652.000000,230.000000 -652.000000C235.000000 -652.000000,298.000000 -652.000000,298.000000 -643.000000L164.000000 -106.000000C154.000000 -66.000000,137.000000 -34.000000,56.000000 -31.000000C50.000000 -31.000000,39.000000 -30.000000,39.000000 -11.000000C39.000000 -4.000000,44.000000 -0.000000,52.000000 -0.000000L152.000000 -0.000000L84.000000 -0.000000L119.000000 -3.000000L152.000000 -3.000000L186.000000 -3.000000L222.000000 -0.000000L255.000000 -0.000000C260.000000 -0.000000,273.000000 -0.000000,273.000000 -20.000000C273.000000 -30.000000,264.000000 -31.000000,253.000000 -31.000000C195.000000 -33.000000,187.000000 -55.000000,187.000000 -75.000000C187.000000 -82.000000,188.000000 -87.000000,191.000000 -98.000000L323.000000 -626.000000C327.000000 -620.000000,327.000000 -618.000000,332.000000 -608.000000L581.000000 -19.000000C588.000000 -2.000000,591.000000 -0.000000,600.000000 -0.000000C611.000000 -0.000000,611.000000 -3.000000,616.000000 -21.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_79">
      <path style="fill-rule: evenodd;" d="M740.000000 -436.000000C740.000000 -597.000000,634.000000 -705.000000,485.000000 -705.000000C269.000000 -705.000000,49.000000 -478.000000,49.000000 -245.000000C49.000000 -79.000000,161.000000 22.000000,305.000000 22.000000C517.000000 22.000000,740.000000 -197.000000,740.000000 -436.000000M311.000000 -4.000000C212.000000 -4.000000,142.000000 -85.000000,142.000000 -217.000000C142.000000 -261.000000,156.000000 -407.000000,233.000000 -524.000000C302.000000 -628.000000,400.000000 -680.000000,479.000000 -680.000000C561.000000 -680.000000,651.000000 -624.000000,651.000000 -475.000000C651.000000 -403.000000,624.000000 -247.000000,525.000000 -124.000000C477.000000 -63.000000,395.000000 -4.000000,311.000000 -4.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.235428 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_79"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,12.837082 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_40"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,19.035995 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_78"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,33.581482 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_41"></use>
  </g>
</svg></span>                                        </td>
<td style="text-align:left">-  No precomputation </td>
</tr>
<tr>
<td style="text-align:left">
</td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
<td style="text-align:left">                                                                                           -  Fastest for small <span title="2" style="vertical-align:-0.0903911em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1.03508em" height="0.805782em" viewBox="0 0 16.561340 12.892517">
<!-- Original BoundingBox: -8.280670 -6.446259 8.280670 6.446259 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_78">
      <path style="fill-rule: evenodd;" d="M756.000000 -578.000000C766.000000 -618.000000,784.000000 -649.000000,864.000000 -652.000000C869.000000 -652.000000,881.000000 -653.000000,881.000000 -672.000000C881.000000 -673.000000,881.000000 -683.000000,868.000000 -683.000000L767.000000 -683.000000L835.000000 -683.000000L800.000000 -680.000000L767.000000 -680.000000L733.000000 -680.000000L698.000000 -683.000000L665.000000 -683.000000C659.000000 -683.000000,647.000000 -683.000000,647.000000 -663.000000C647.000000 -652.000000,657.000000 -652.000000,665.000000 -652.000000C722.000000 -651.000000,733.000000 -630.000000,733.000000 -608.000000C733.000000 -605.000000,731.000000 -590.000000,730.000000 -587.000000L618.000000 -142.000000L397.000000 -664.000000C389.000000 -682.000000,388.000000 -683.000000,365.000000 -683.000000L231.000000 -683.000000C211.000000 -683.000000,202.000000 -683.000000,202.000000 -663.000000C202.000000 -652.000000,211.000000 -652.000000,230.000000 -652.000000C235.000000 -652.000000,298.000000 -652.000000,298.000000 -643.000000L164.000000 -106.000000C154.000000 -66.000000,137.000000 -34.000000,56.000000 -31.000000C50.000000 -31.000000,39.000000 -30.000000,39.000000 -11.000000C39.000000 -4.000000,44.000000 -0.000000,52.000000 -0.000000L152.000000 -0.000000L84.000000 -0.000000L119.000000 -3.000000L152.000000 -3.000000L186.000000 -3.000000L222.000000 -0.000000L255.000000 -0.000000C260.000000 -0.000000,273.000000 -0.000000,273.000000 -20.000000C273.000000 -30.000000,264.000000 -31.000000,253.000000 -31.000000C195.000000 -33.000000,187.000000 -55.000000,187.000000 -75.000000C187.000000 -82.000000,188.000000 -87.000000,191.000000 -98.000000L323.000000 -626.000000C327.000000 -620.000000,327.000000 -618.000000,332.000000 -608.000000L581.000000 -19.000000C588.000000 -2.000000,591.000000 -0.000000,600.000000 -0.000000C611.000000 -0.000000,611.000000 -3.000000,616.000000 -21.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.735321 11.446259)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_78"></use>
  </g>
</svg></span>
</td>
</tr>
<tr>
<td style="text-align:left">
</td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
<td style="text-align:left">                                                                                           -  Default for <span title="3" style="vertical-align:-0.148816em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="3.85784em" height="0.844732em" viewBox="0 0 61.725494 13.515717">
<!-- Original BoundingBox: -30.862747 -6.757858 30.862747 6.757858 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_48">
      <path style="fill-rule: evenodd;" d="M460.000000 -320.000000C460.000000 -400.000000,455.000000 -480.000000,420.000000 -554.000000C374.000000 -650.000000,292.000000 -666.000000,250.000000 -666.000000C190.000000 -666.000000,117.000000 -640.000000,76.000000 -547.000000C44.000000 -478.000000,39.000000 -400.000000,39.000000 -320.000000C39.000000 -245.000000,43.000000 -155.000000,84.000000 -79.000000C127.000000 2.000000,200.000000 22.000000,249.000000 22.000000C303.000000 22.000000,379.000000 1.000000,423.000000 -94.000000C455.000000 -163.000000,460.000000 -241.000000,460.000000 -320.000000M249.000000 -0.000000C210.000000 -0.000000,151.000000 -25.000000,133.000000 -121.000000C122.000000 -181.000000,122.000000 -273.000000,122.000000 -332.000000C122.000000 -396.000000,122.000000 -462.000000,130.000000 -516.000000C149.000000 -635.000000,224.000000 -644.000000,249.000000 -644.000000C282.000000 -644.000000,348.000000 -626.000000,367.000000 -527.000000C377.000000 -471.000000,377.000000 -395.000000,377.000000 -332.000000C377.000000 -257.000000,377.000000 -189.000000,366.000000 -125.000000C351.000000 -30.000000,294.000000 -0.000000,249.000000 -0.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_49">
      <path style="fill-rule: evenodd;" d="M294.000000 -640.000000C294.000000 -664.000000,294.000000 -666.000000,271.000000 -666.000000C209.000000 -602.000000,121.000000 -602.000000,89.000000 -602.000000L89.000000 -571.000000C109.000000 -571.000000,168.000000 -571.000000,220.000000 -597.000000L220.000000 -79.000000C220.000000 -43.000000,217.000000 -31.000000,127.000000 -31.000000L95.000000 -31.000000L95.000000 -0.000000L257.000000 -0.000000L130.000000 -3.000000L217.000000 -3.000000L257.000000 -3.000000L297.000000 -3.000000L384.000000 -3.000000L419.000000 -0.000000L419.000000 -31.000000L387.000000 -31.000000C297.000000 -31.000000,294.000000 -42.000000,294.000000 -79.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_60">
      <path style="fill-rule: evenodd;" d="M675.000000 -498.000000C687.000000 -504.000000,694.000000 -509.000000,694.000000 -520.000000C694.000000 -531.000000,685.000000 -540.000000,674.000000 -540.000000C671.000000 -540.000000,669.000000 -540.000000,656.000000 -533.000000L102.000000 -272.000000C91.000000 -267.000000,83.000000 -262.000000,83.000000 -250.000000C83.000000 -238.000000,91.000000 -233.000000,102.000000 -228.000000L656.000000 33.000000C669.000000 40.000000,671.000000 40.000000,674.000000 40.000000C685.000000 40.000000,694.000000 31.000000,694.000000 20.000000C694.000000 9.000000,687.000000 4.000000,675.000000 -2.000000L150.000000 -250.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_78">
      <path style="fill-rule: evenodd;" d="M756.000000 -578.000000C766.000000 -618.000000,784.000000 -649.000000,864.000000 -652.000000C869.000000 -652.000000,881.000000 -653.000000,881.000000 -672.000000C881.000000 -673.000000,881.000000 -683.000000,868.000000 -683.000000L767.000000 -683.000000L835.000000 -683.000000L800.000000 -680.000000L767.000000 -680.000000L733.000000 -680.000000L698.000000 -683.000000L665.000000 -683.000000C659.000000 -683.000000,647.000000 -683.000000,647.000000 -663.000000C647.000000 -652.000000,657.000000 -652.000000,665.000000 -652.000000C722.000000 -651.000000,733.000000 -630.000000,733.000000 -608.000000C733.000000 -605.000000,731.000000 -590.000000,730.000000 -587.000000L618.000000 -142.000000L397.000000 -664.000000C389.000000 -682.000000,388.000000 -683.000000,365.000000 -683.000000L231.000000 -683.000000C211.000000 -683.000000,202.000000 -683.000000,202.000000 -663.000000C202.000000 -652.000000,211.000000 -652.000000,230.000000 -652.000000C235.000000 -652.000000,298.000000 -652.000000,298.000000 -643.000000L164.000000 -106.000000C154.000000 -66.000000,137.000000 -34.000000,56.000000 -31.000000C50.000000 -31.000000,39.000000 -30.000000,39.000000 -11.000000C39.000000 -4.000000,44.000000 -0.000000,52.000000 -0.000000L152.000000 -0.000000L84.000000 -0.000000L119.000000 -3.000000L152.000000 -3.000000L186.000000 -3.000000L222.000000 -0.000000L255.000000 -0.000000C260.000000 -0.000000,273.000000 -0.000000,273.000000 -20.000000C273.000000 -30.000000,264.000000 -31.000000,253.000000 -31.000000C195.000000 -33.000000,187.000000 -55.000000,187.000000 -75.000000C187.000000 -82.000000,188.000000 -87.000000,191.000000 -98.000000L323.000000 -626.000000C327.000000 -620.000000,327.000000 -618.000000,332.000000 -608.000000L581.000000 -19.000000C588.000000 -2.000000,591.000000 -0.000000,600.000000 -0.000000C611.000000 -0.000000,611.000000 -3.000000,616.000000 -21.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.153244 11.134659)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_78"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,19.126434 11.134659)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_60"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,35.952118 11.134659)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_49"></use>
    <use xlink:href="#GLYPHcmr10_48" x="5.000095"></use>
    <use xlink:href="#GLYPHcmr10_48" x="10.000190"></use>
  </g>
</svg></span>
</td>
</tr>
<tr>
<td style="text-align:left">
</td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
</tr>
<tr>
<td style="text-align:left">
points    </td>
<td style="text-align:left">kd-tree   </td>
<td style="text-align:left">
<span title="4" style="vertical-align:-0.37221em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="5.73442em" height="1.12127em" viewBox="0 0 91.750732 17.940399">
<!-- Original BoundingBox: -45.875366 -8.970200 45.875366 8.970200 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_40">
      <path style="fill-rule: evenodd;" d="M331.000000 240.000000C331.000000 237.000000,331.000000 235.000000,314.000000 218.000000C189.000000 92.000000,157.000000 -97.000000,157.000000 -250.000000C157.000000 -424.000000,195.000000 -598.000000,318.000000 -723.000000C331.000000 -735.000000,331.000000 -737.000000,331.000000 -740.000000C331.000000 -747.000000,327.000000 -750.000000,321.000000 -750.000000C311.000000 -750.000000,221.000000 -682.000000,162.000000 -555.000000C111.000000 -445.000000,99.000000 -334.000000,99.000000 -250.000000C99.000000 -172.000000,110.000000 -51.000000,165.000000 62.000000C225.000000 185.000000,311.000000 250.000000,321.000000 250.000000C327.000000 250.000000,331.000000 247.000000,331.000000 240.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_41">
      <path style="fill-rule: evenodd;" d="M289.000000 -250.000000C289.000000 -328.000000,278.000000 -449.000000,223.000000 -562.000000C163.000000 -685.000000,77.000000 -750.000000,67.000000 -750.000000C61.000000 -750.000000,57.000000 -746.000000,57.000000 -740.000000C57.000000 -737.000000,57.000000 -735.000000,76.000000 -717.000000C174.000000 -618.000000,231.000000 -459.000000,231.000000 -250.000000C231.000000 -79.000000,194.000000 97.000000,70.000000 223.000000C57.000000 235.000000,57.000000 237.000000,57.000000 240.000000C57.000000 246.000000,61.000000 250.000000,67.000000 250.000000C77.000000 250.000000,167.000000 182.000000,226.000000 55.000000C277.000000 -55.000000,289.000000 -166.000000,289.000000 -250.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_103">
      <path style="fill-rule: evenodd;" d="M222.000000 -172.000000C135.000000 -172.000000,135.000000 -272.000000,135.000000 -295.000000C135.000000 -322.000000,136.000000 -354.000000,151.000000 -379.000000C159.000000 -391.000000,182.000000 -419.000000,222.000000 -419.000000C309.000000 -419.000000,309.000000 -319.000000,309.000000 -296.000000C309.000000 -269.000000,308.000000 -237.000000,293.000000 -212.000000C285.000000 -200.000000,262.000000 -172.000000,222.000000 -172.000000M106.000000 -133.000000C106.000000 -137.000000,106.000000 -160.000000,123.000000 -180.000000C162.000000 -152.000000,203.000000 -149.000000,222.000000 -149.000000C315.000000 -149.000000,384.000000 -218.000000,384.000000 -295.000000C384.000000 -332.000000,368.000000 -369.000000,343.000000 -392.000000C379.000000 -426.000000,415.000000 -431.000000,433.000000 -431.000000C435.000000 -431.000000,440.000000 -431.000000,443.000000 -430.000000C432.000000 -426.000000,427.000000 -415.000000,427.000000 -403.000000C427.000000 -386.000000,440.000000 -374.000000,456.000000 -374.000000C466.000000 -374.000000,485.000000 -381.000000,485.000000 -404.000000C485.000000 -421.000000,473.000000 -453.000000,434.000000 -453.000000C414.000000 -453.000000,370.000000 -447.000000,328.000000 -406.000000C286.000000 -439.000000,244.000000 -442.000000,222.000000 -442.000000C129.000000 -442.000000,60.000000 -373.000000,60.000000 -296.000000C60.000000 -252.000000,82.000000 -214.000000,107.000000 -193.000000C94.000000 -178.000000,76.000000 -145.000000,76.000000 -110.000000C76.000000 -79.000000,89.000000 -41.000000,120.000000 -21.000000C60.000000 -4.000000,28.000000 39.000000,28.000000 79.000000C28.000000 151.000000,127.000000 206.000000,249.000000 206.000000C367.000000 206.000000,471.000000 155.000000,471.000000 77.000000C471.000000 42.000000,457.000000 -9.000000,406.000000 -37.000000C353.000000 -65.000000,295.000000 -65.000000,234.000000 -65.000000C209.000000 -65.000000,166.000000 -65.000000,159.000000 -66.000000C127.000000 -70.000000,106.000000 -101.000000,106.000000 -133.000000M250.000000 183.000000C149.000000 183.000000,80.000000 132.000000,80.000000 79.000000C80.000000 33.000000,118.000000 -4.000000,162.000000 -7.000000L221.000000 -7.000000C307.000000 -7.000000,419.000000 -7.000000,419.000000 79.000000C419.000000 133.000000,348.000000 183.000000,250.000000 183.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_108">
      <path style="fill-rule: evenodd;" d="M177.000000 -694.000000L33.000000 -683.000000L33.000000 -652.000000C103.000000 -652.000000,111.000000 -645.000000,111.000000 -596.000000L111.000000 -76.000000C111.000000 -31.000000,100.000000 -31.000000,33.000000 -31.000000L33.000000 -0.000000L144.000000 -0.000000L66.000000 -1.000000L119.000000 -3.000000L144.000000 -3.000000L169.000000 -3.000000L218.000000 -1.000000L255.000000 -0.000000L255.000000 -31.000000C188.000000 -31.000000,177.000000 -31.000000,177.000000 -76.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_111">
      <path style="fill-rule: evenodd;" d="M471.000000 -214.000000C471.000000 -342.000000,371.000000 -448.000000,250.000000 -448.000000C125.000000 -448.000000,28.000000 -339.000000,28.000000 -214.000000C28.000000 -85.000000,132.000000 11.000000,249.000000 11.000000C370.000000 11.000000,471.000000 -87.000000,471.000000 -214.000000M250.000000 -14.000000C207.000000 -14.000000,163.000000 -35.000000,136.000000 -81.000000C111.000000 -125.000000,111.000000 -186.000000,111.000000 -222.000000C111.000000 -261.000000,111.000000 -315.000000,135.000000 -359.000000C162.000000 -405.000000,209.000000 -426.000000,249.000000 -426.000000C293.000000 -426.000000,336.000000 -404.000000,362.000000 -361.000000C388.000000 -318.000000,388.000000 -260.000000,388.000000 -222.000000C388.000000 -186.000000,388.000000 -132.000000,366.000000 -88.000000C344.000000 -43.000000,300.000000 -14.000000,250.000000 -14.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_78">
      <path style="fill-rule: evenodd;" d="M756.000000 -578.000000C766.000000 -618.000000,784.000000 -649.000000,864.000000 -652.000000C869.000000 -652.000000,881.000000 -653.000000,881.000000 -672.000000C881.000000 -673.000000,881.000000 -683.000000,868.000000 -683.000000L767.000000 -683.000000L835.000000 -683.000000L800.000000 -680.000000L767.000000 -680.000000L733.000000 -680.000000L698.000000 -683.000000L665.000000 -683.000000C659.000000 -683.000000,647.000000 -683.000000,647.000000 -663.000000C647.000000 -652.000000,657.000000 -652.000000,665.000000 -652.000000C722.000000 -651.000000,733.000000 -630.000000,733.000000 -608.000000C733.000000 -605.000000,731.000000 -590.000000,730.000000 -587.000000L618.000000 -142.000000L397.000000 -664.000000C389.000000 -682.000000,388.000000 -683.000000,365.000000 -683.000000L231.000000 -683.000000C211.000000 -683.000000,202.000000 -683.000000,202.000000 -663.000000C202.000000 -652.000000,211.000000 -652.000000,230.000000 -652.000000C235.000000 -652.000000,298.000000 -652.000000,298.000000 -643.000000L164.000000 -106.000000C154.000000 -66.000000,137.000000 -34.000000,56.000000 -31.000000C50.000000 -31.000000,39.000000 -30.000000,39.000000 -11.000000C39.000000 -4.000000,44.000000 -0.000000,52.000000 -0.000000L152.000000 -0.000000L84.000000 -0.000000L119.000000 -3.000000L152.000000 -3.000000L186.000000 -3.000000L222.000000 -0.000000L255.000000 -0.000000C260.000000 -0.000000,273.000000 -0.000000,273.000000 -20.000000C273.000000 -30.000000,264.000000 -31.000000,253.000000 -31.000000C195.000000 -33.000000,187.000000 -55.000000,187.000000 -75.000000C187.000000 -82.000000,188.000000 -87.000000,191.000000 -98.000000L323.000000 -626.000000C327.000000 -620.000000,327.000000 -618.000000,332.000000 -608.000000L581.000000 -19.000000C588.000000 -2.000000,591.000000 -0.000000,600.000000 -0.000000C611.000000 -0.000000,611.000000 -3.000000,616.000000 -21.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_79">
      <path style="fill-rule: evenodd;" d="M740.000000 -436.000000C740.000000 -597.000000,634.000000 -705.000000,485.000000 -705.000000C269.000000 -705.000000,49.000000 -478.000000,49.000000 -245.000000C49.000000 -79.000000,161.000000 22.000000,305.000000 22.000000C517.000000 22.000000,740.000000 -197.000000,740.000000 -436.000000M311.000000 -4.000000C212.000000 -4.000000,142.000000 -85.000000,142.000000 -217.000000C142.000000 -261.000000,156.000000 -407.000000,233.000000 -524.000000C302.000000 -628.000000,400.000000 -680.000000,479.000000 -680.000000C561.000000 -680.000000,651.000000 -624.000000,651.000000 -475.000000C651.000000 -403.000000,624.000000 -247.000000,525.000000 -124.000000C477.000000 -63.000000,395.000000 -4.000000,311.000000 -4.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.140625 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_79"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,12.742279 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_40"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,18.941193 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_78"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,36.143326 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_108"></use>
    <use xlink:href="#GLYPHcmr10_111" x="2.777830"></use>
    <use xlink:href="#GLYPHcmr10_103" x="7.777925"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,56.733002 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_40"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,62.931900 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_78"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,77.477417 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_41"></use>
    <use xlink:href="#GLYPHcmr10_41" x="3.888963"></use>
  </g>
</svg></span> </td>
<td style="text-align:left">
<span title="5" style="vertical-align:-0.37221em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="4.6593em" height="1.12127em" viewBox="0 0 74.548767 17.940399">
<!-- Original BoundingBox: -37.274384 -8.970200 37.274384 8.970200 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_40">
      <path style="fill-rule: evenodd;" d="M331.000000 240.000000C331.000000 237.000000,331.000000 235.000000,314.000000 218.000000C189.000000 92.000000,157.000000 -97.000000,157.000000 -250.000000C157.000000 -424.000000,195.000000 -598.000000,318.000000 -723.000000C331.000000 -735.000000,331.000000 -737.000000,331.000000 -740.000000C331.000000 -747.000000,327.000000 -750.000000,321.000000 -750.000000C311.000000 -750.000000,221.000000 -682.000000,162.000000 -555.000000C111.000000 -445.000000,99.000000 -334.000000,99.000000 -250.000000C99.000000 -172.000000,110.000000 -51.000000,165.000000 62.000000C225.000000 185.000000,311.000000 250.000000,321.000000 250.000000C327.000000 250.000000,331.000000 247.000000,331.000000 240.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_41">
      <path style="fill-rule: evenodd;" d="M289.000000 -250.000000C289.000000 -328.000000,278.000000 -449.000000,223.000000 -562.000000C163.000000 -685.000000,77.000000 -750.000000,67.000000 -750.000000C61.000000 -750.000000,57.000000 -746.000000,57.000000 -740.000000C57.000000 -737.000000,57.000000 -735.000000,76.000000 -717.000000C174.000000 -618.000000,231.000000 -459.000000,231.000000 -250.000000C231.000000 -79.000000,194.000000 97.000000,70.000000 223.000000C57.000000 235.000000,57.000000 237.000000,57.000000 240.000000C57.000000 246.000000,61.000000 250.000000,67.000000 250.000000C77.000000 250.000000,167.000000 182.000000,226.000000 55.000000C277.000000 -55.000000,289.000000 -166.000000,289.000000 -250.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_103">
      <path style="fill-rule: evenodd;" d="M222.000000 -172.000000C135.000000 -172.000000,135.000000 -272.000000,135.000000 -295.000000C135.000000 -322.000000,136.000000 -354.000000,151.000000 -379.000000C159.000000 -391.000000,182.000000 -419.000000,222.000000 -419.000000C309.000000 -419.000000,309.000000 -319.000000,309.000000 -296.000000C309.000000 -269.000000,308.000000 -237.000000,293.000000 -212.000000C285.000000 -200.000000,262.000000 -172.000000,222.000000 -172.000000M106.000000 -133.000000C106.000000 -137.000000,106.000000 -160.000000,123.000000 -180.000000C162.000000 -152.000000,203.000000 -149.000000,222.000000 -149.000000C315.000000 -149.000000,384.000000 -218.000000,384.000000 -295.000000C384.000000 -332.000000,368.000000 -369.000000,343.000000 -392.000000C379.000000 -426.000000,415.000000 -431.000000,433.000000 -431.000000C435.000000 -431.000000,440.000000 -431.000000,443.000000 -430.000000C432.000000 -426.000000,427.000000 -415.000000,427.000000 -403.000000C427.000000 -386.000000,440.000000 -374.000000,456.000000 -374.000000C466.000000 -374.000000,485.000000 -381.000000,485.000000 -404.000000C485.000000 -421.000000,473.000000 -453.000000,434.000000 -453.000000C414.000000 -453.000000,370.000000 -447.000000,328.000000 -406.000000C286.000000 -439.000000,244.000000 -442.000000,222.000000 -442.000000C129.000000 -442.000000,60.000000 -373.000000,60.000000 -296.000000C60.000000 -252.000000,82.000000 -214.000000,107.000000 -193.000000C94.000000 -178.000000,76.000000 -145.000000,76.000000 -110.000000C76.000000 -79.000000,89.000000 -41.000000,120.000000 -21.000000C60.000000 -4.000000,28.000000 39.000000,28.000000 79.000000C28.000000 151.000000,127.000000 206.000000,249.000000 206.000000C367.000000 206.000000,471.000000 155.000000,471.000000 77.000000C471.000000 42.000000,457.000000 -9.000000,406.000000 -37.000000C353.000000 -65.000000,295.000000 -65.000000,234.000000 -65.000000C209.000000 -65.000000,166.000000 -65.000000,159.000000 -66.000000C127.000000 -70.000000,106.000000 -101.000000,106.000000 -133.000000M250.000000 183.000000C149.000000 183.000000,80.000000 132.000000,80.000000 79.000000C80.000000 33.000000,118.000000 -4.000000,162.000000 -7.000000L221.000000 -7.000000C307.000000 -7.000000,419.000000 -7.000000,419.000000 79.000000C419.000000 133.000000,348.000000 183.000000,250.000000 183.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_108">
      <path style="fill-rule: evenodd;" d="M177.000000 -694.000000L33.000000 -683.000000L33.000000 -652.000000C103.000000 -652.000000,111.000000 -645.000000,111.000000 -596.000000L111.000000 -76.000000C111.000000 -31.000000,100.000000 -31.000000,33.000000 -31.000000L33.000000 -0.000000L144.000000 -0.000000L66.000000 -1.000000L119.000000 -3.000000L144.000000 -3.000000L169.000000 -3.000000L218.000000 -1.000000L255.000000 -0.000000L255.000000 -31.000000C188.000000 -31.000000,177.000000 -31.000000,177.000000 -76.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_111">
      <path style="fill-rule: evenodd;" d="M471.000000 -214.000000C471.000000 -342.000000,371.000000 -448.000000,250.000000 -448.000000C125.000000 -448.000000,28.000000 -339.000000,28.000000 -214.000000C28.000000 -85.000000,132.000000 11.000000,249.000000 11.000000C370.000000 11.000000,471.000000 -87.000000,471.000000 -214.000000M250.000000 -14.000000C207.000000 -14.000000,163.000000 -35.000000,136.000000 -81.000000C111.000000 -125.000000,111.000000 -186.000000,111.000000 -222.000000C111.000000 -261.000000,111.000000 -315.000000,135.000000 -359.000000C162.000000 -405.000000,209.000000 -426.000000,249.000000 -426.000000C293.000000 -426.000000,336.000000 -404.000000,362.000000 -361.000000C388.000000 -318.000000,388.000000 -260.000000,388.000000 -222.000000C388.000000 -186.000000,388.000000 -132.000000,366.000000 -88.000000C344.000000 -43.000000,300.000000 -14.000000,250.000000 -14.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_78">
      <path style="fill-rule: evenodd;" d="M756.000000 -578.000000C766.000000 -618.000000,784.000000 -649.000000,864.000000 -652.000000C869.000000 -652.000000,881.000000 -653.000000,881.000000 -672.000000C881.000000 -673.000000,881.000000 -683.000000,868.000000 -683.000000L767.000000 -683.000000L835.000000 -683.000000L800.000000 -680.000000L767.000000 -680.000000L733.000000 -680.000000L698.000000 -683.000000L665.000000 -683.000000C659.000000 -683.000000,647.000000 -683.000000,647.000000 -663.000000C647.000000 -652.000000,657.000000 -652.000000,665.000000 -652.000000C722.000000 -651.000000,733.000000 -630.000000,733.000000 -608.000000C733.000000 -605.000000,731.000000 -590.000000,730.000000 -587.000000L618.000000 -142.000000L397.000000 -664.000000C389.000000 -682.000000,388.000000 -683.000000,365.000000 -683.000000L231.000000 -683.000000C211.000000 -683.000000,202.000000 -683.000000,202.000000 -663.000000C202.000000 -652.000000,211.000000 -652.000000,230.000000 -652.000000C235.000000 -652.000000,298.000000 -652.000000,298.000000 -643.000000L164.000000 -106.000000C154.000000 -66.000000,137.000000 -34.000000,56.000000 -31.000000C50.000000 -31.000000,39.000000 -30.000000,39.000000 -11.000000C39.000000 -4.000000,44.000000 -0.000000,52.000000 -0.000000L152.000000 -0.000000L84.000000 -0.000000L119.000000 -3.000000L152.000000 -3.000000L186.000000 -3.000000L222.000000 -0.000000L255.000000 -0.000000C260.000000 -0.000000,273.000000 -0.000000,273.000000 -20.000000C273.000000 -30.000000,264.000000 -31.000000,253.000000 -31.000000C195.000000 -33.000000,187.000000 -55.000000,187.000000 -75.000000C187.000000 -82.000000,188.000000 -87.000000,191.000000 -98.000000L323.000000 -626.000000C327.000000 -620.000000,327.000000 -618.000000,332.000000 -608.000000L581.000000 -19.000000C588.000000 -2.000000,591.000000 -0.000000,600.000000 -0.000000C611.000000 -0.000000,611.000000 -3.000000,616.000000 -21.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_79">
      <path style="fill-rule: evenodd;" d="M740.000000 -436.000000C740.000000 -597.000000,634.000000 -705.000000,485.000000 -705.000000C269.000000 -705.000000,49.000000 -478.000000,49.000000 -245.000000C49.000000 -79.000000,161.000000 22.000000,305.000000 22.000000C517.000000 22.000000,740.000000 -197.000000,740.000000 -436.000000M311.000000 -4.000000C212.000000 -4.000000,142.000000 -85.000000,142.000000 -217.000000C142.000000 -261.000000,156.000000 -407.000000,233.000000 -524.000000C302.000000 -628.000000,400.000000 -680.000000,479.000000 -680.000000C561.000000 -680.000000,651.000000 -624.000000,651.000000 -475.000000C651.000000 -403.000000,624.000000 -247.000000,525.000000 -124.000000C477.000000 -63.000000,395.000000 -4.000000,311.000000 -4.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.741608 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_79"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,13.343262 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_40"></use>
    <use xlink:href="#GLYPHcmr10_108" x="3.888963"></use>
    <use xlink:href="#GLYPHcmr10_111" x="6.666793"></use>
    <use xlink:href="#GLYPHcmr10_103" x="11.666888"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,40.131851 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_40"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,46.330750 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_78"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,60.876236 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_41"></use>
    <use xlink:href="#GLYPHcmr10_41" x="3.888963"></use>
  </g>
</svg></span>             </td>
<td style="text-align:left">-  Fast structure creation</td>
</tr>
<tr>
<td style="text-align:left">
</td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
<td style="text-align:left">                                                                                           -  Non-constant search time</td>
</tr>
<tr>
<td style="text-align:left">
</td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
<td style="text-align:left">                                                                                           -  Default for <span title="6" style="vertical-align:-0.231083em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="3.85784em" height="0.941243em" viewBox="0 0 61.725494 15.059891">
<!-- Original BoundingBox: -30.862747 -7.529938 30.862747 7.529953 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_48">
      <path style="fill-rule: evenodd;" d="M460.000000 -320.000000C460.000000 -400.000000,455.000000 -480.000000,420.000000 -554.000000C374.000000 -650.000000,292.000000 -666.000000,250.000000 -666.000000C190.000000 -666.000000,117.000000 -640.000000,76.000000 -547.000000C44.000000 -478.000000,39.000000 -400.000000,39.000000 -320.000000C39.000000 -245.000000,43.000000 -155.000000,84.000000 -79.000000C127.000000 2.000000,200.000000 22.000000,249.000000 22.000000C303.000000 22.000000,379.000000 1.000000,423.000000 -94.000000C455.000000 -163.000000,460.000000 -241.000000,460.000000 -320.000000M249.000000 -0.000000C210.000000 -0.000000,151.000000 -25.000000,133.000000 -121.000000C122.000000 -181.000000,122.000000 -273.000000,122.000000 -332.000000C122.000000 -396.000000,122.000000 -462.000000,130.000000 -516.000000C149.000000 -635.000000,224.000000 -644.000000,249.000000 -644.000000C282.000000 -644.000000,348.000000 -626.000000,367.000000 -527.000000C377.000000 -471.000000,377.000000 -395.000000,377.000000 -332.000000C377.000000 -257.000000,377.000000 -189.000000,366.000000 -125.000000C351.000000 -30.000000,294.000000 -0.000000,249.000000 -0.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_49">
      <path style="fill-rule: evenodd;" d="M294.000000 -640.000000C294.000000 -664.000000,294.000000 -666.000000,271.000000 -666.000000C209.000000 -602.000000,121.000000 -602.000000,89.000000 -602.000000L89.000000 -571.000000C109.000000 -571.000000,168.000000 -571.000000,220.000000 -597.000000L220.000000 -79.000000C220.000000 -43.000000,217.000000 -31.000000,127.000000 -31.000000L95.000000 -31.000000L95.000000 -0.000000L257.000000 -0.000000L130.000000 -3.000000L217.000000 -3.000000L257.000000 -3.000000L297.000000 -3.000000L384.000000 -3.000000L419.000000 -0.000000L419.000000 -31.000000L387.000000 -31.000000C297.000000 -31.000000,294.000000 -42.000000,294.000000 -79.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmsy10_21">
      <path style="fill-rule: evenodd;" d="M674.000000 -324.000000C688.000000 -330.000000,694.000000 -337.000000,694.000000 -346.000000C694.000000 -356.000000,690.000000 -362.000000,674.000000 -369.000000L123.000000 -629.000000C109.000000 -636.000000,105.000000 -636.000000,103.000000 -636.000000C91.000000 -636.000000,83.000000 -627.000000,83.000000 -616.000000C83.000000 -604.000000,91.000000 -599.000000,102.000000 -594.000000L627.000000 -347.000000L104.000000 -100.000000C84.000000 -91.000000,83.000000 -83.000000,83.000000 -77.000000C83.000000 -66.000000,92.000000 -57.000000,103.000000 -57.000000C106.000000 -57.000000,108.000000 -57.000000,121.000000 -64.000000M659.000000 137.000000C676.000000 137.000000,694.000000 137.000000,694.000000 117.000000C694.000000 97.000000,673.000000 97.000000,658.000000 97.000000L119.000000 97.000000C104.000000 97.000000,83.000000 97.000000,83.000000 117.000000C83.000000 137.000000,101.000000 137.000000,118.000000 137.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_78">
      <path style="fill-rule: evenodd;" d="M756.000000 -578.000000C766.000000 -618.000000,784.000000 -649.000000,864.000000 -652.000000C869.000000 -652.000000,881.000000 -653.000000,881.000000 -672.000000C881.000000 -673.000000,881.000000 -683.000000,868.000000 -683.000000L767.000000 -683.000000L835.000000 -683.000000L800.000000 -680.000000L767.000000 -680.000000L733.000000 -680.000000L698.000000 -683.000000L665.000000 -683.000000C659.000000 -683.000000,647.000000 -683.000000,647.000000 -663.000000C647.000000 -652.000000,657.000000 -652.000000,665.000000 -652.000000C722.000000 -651.000000,733.000000 -630.000000,733.000000 -608.000000C733.000000 -605.000000,731.000000 -590.000000,730.000000 -587.000000L618.000000 -142.000000L397.000000 -664.000000C389.000000 -682.000000,388.000000 -683.000000,365.000000 -683.000000L231.000000 -683.000000C211.000000 -683.000000,202.000000 -683.000000,202.000000 -663.000000C202.000000 -652.000000,211.000000 -652.000000,230.000000 -652.000000C235.000000 -652.000000,298.000000 -652.000000,298.000000 -643.000000L164.000000 -106.000000C154.000000 -66.000000,137.000000 -34.000000,56.000000 -31.000000C50.000000 -31.000000,39.000000 -30.000000,39.000000 -11.000000C39.000000 -4.000000,44.000000 -0.000000,52.000000 -0.000000L152.000000 -0.000000L84.000000 -0.000000L119.000000 -3.000000L152.000000 -3.000000L186.000000 -3.000000L222.000000 -0.000000L255.000000 -0.000000C260.000000 -0.000000,273.000000 -0.000000,273.000000 -20.000000C273.000000 -30.000000,264.000000 -31.000000,253.000000 -31.000000C195.000000 -33.000000,187.000000 -55.000000,187.000000 -75.000000C187.000000 -82.000000,188.000000 -87.000000,191.000000 -98.000000L323.000000 -626.000000C327.000000 -620.000000,327.000000 -618.000000,332.000000 -608.000000L581.000000 -19.000000C588.000000 -2.000000,591.000000 -0.000000,600.000000 -0.000000C611.000000 -0.000000,611.000000 -3.000000,616.000000 -21.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.153244 11.362564)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_78"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,19.126434 11.362564)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_21"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,35.952118 11.362564)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_49"></use>
    <use xlink:href="#GLYPHcmr10_48" x="5.000095"></use>
    <use xlink:href="#GLYPHcmr10_48" x="10.000190"></use>
  </g>
</svg></span>
</td>
</tr>
<tr>
<td style="text-align:left">
</td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
</tr>
<tr>
<td style="text-align:left">
points    </td>
<td style="text-align:left">voxel     </td>
<td style="text-align:left">
<span title="7" style="vertical-align:-0.37221em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="5.73442em" height="1.12127em" viewBox="0 0 91.750732 17.940399">
<!-- Original BoundingBox: -45.875366 -8.970200 45.875366 8.970200 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_40">
      <path style="fill-rule: evenodd;" d="M331.000000 240.000000C331.000000 237.000000,331.000000 235.000000,314.000000 218.000000C189.000000 92.000000,157.000000 -97.000000,157.000000 -250.000000C157.000000 -424.000000,195.000000 -598.000000,318.000000 -723.000000C331.000000 -735.000000,331.000000 -737.000000,331.000000 -740.000000C331.000000 -747.000000,327.000000 -750.000000,321.000000 -750.000000C311.000000 -750.000000,221.000000 -682.000000,162.000000 -555.000000C111.000000 -445.000000,99.000000 -334.000000,99.000000 -250.000000C99.000000 -172.000000,110.000000 -51.000000,165.000000 62.000000C225.000000 185.000000,311.000000 250.000000,321.000000 250.000000C327.000000 250.000000,331.000000 247.000000,331.000000 240.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_41">
      <path style="fill-rule: evenodd;" d="M289.000000 -250.000000C289.000000 -328.000000,278.000000 -449.000000,223.000000 -562.000000C163.000000 -685.000000,77.000000 -750.000000,67.000000 -750.000000C61.000000 -750.000000,57.000000 -746.000000,57.000000 -740.000000C57.000000 -737.000000,57.000000 -735.000000,76.000000 -717.000000C174.000000 -618.000000,231.000000 -459.000000,231.000000 -250.000000C231.000000 -79.000000,194.000000 97.000000,70.000000 223.000000C57.000000 235.000000,57.000000 237.000000,57.000000 240.000000C57.000000 246.000000,61.000000 250.000000,67.000000 250.000000C77.000000 250.000000,167.000000 182.000000,226.000000 55.000000C277.000000 -55.000000,289.000000 -166.000000,289.000000 -250.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_103">
      <path style="fill-rule: evenodd;" d="M222.000000 -172.000000C135.000000 -172.000000,135.000000 -272.000000,135.000000 -295.000000C135.000000 -322.000000,136.000000 -354.000000,151.000000 -379.000000C159.000000 -391.000000,182.000000 -419.000000,222.000000 -419.000000C309.000000 -419.000000,309.000000 -319.000000,309.000000 -296.000000C309.000000 -269.000000,308.000000 -237.000000,293.000000 -212.000000C285.000000 -200.000000,262.000000 -172.000000,222.000000 -172.000000M106.000000 -133.000000C106.000000 -137.000000,106.000000 -160.000000,123.000000 -180.000000C162.000000 -152.000000,203.000000 -149.000000,222.000000 -149.000000C315.000000 -149.000000,384.000000 -218.000000,384.000000 -295.000000C384.000000 -332.000000,368.000000 -369.000000,343.000000 -392.000000C379.000000 -426.000000,415.000000 -431.000000,433.000000 -431.000000C435.000000 -431.000000,440.000000 -431.000000,443.000000 -430.000000C432.000000 -426.000000,427.000000 -415.000000,427.000000 -403.000000C427.000000 -386.000000,440.000000 -374.000000,456.000000 -374.000000C466.000000 -374.000000,485.000000 -381.000000,485.000000 -404.000000C485.000000 -421.000000,473.000000 -453.000000,434.000000 -453.000000C414.000000 -453.000000,370.000000 -447.000000,328.000000 -406.000000C286.000000 -439.000000,244.000000 -442.000000,222.000000 -442.000000C129.000000 -442.000000,60.000000 -373.000000,60.000000 -296.000000C60.000000 -252.000000,82.000000 -214.000000,107.000000 -193.000000C94.000000 -178.000000,76.000000 -145.000000,76.000000 -110.000000C76.000000 -79.000000,89.000000 -41.000000,120.000000 -21.000000C60.000000 -4.000000,28.000000 39.000000,28.000000 79.000000C28.000000 151.000000,127.000000 206.000000,249.000000 206.000000C367.000000 206.000000,471.000000 155.000000,471.000000 77.000000C471.000000 42.000000,457.000000 -9.000000,406.000000 -37.000000C353.000000 -65.000000,295.000000 -65.000000,234.000000 -65.000000C209.000000 -65.000000,166.000000 -65.000000,159.000000 -66.000000C127.000000 -70.000000,106.000000 -101.000000,106.000000 -133.000000M250.000000 183.000000C149.000000 183.000000,80.000000 132.000000,80.000000 79.000000C80.000000 33.000000,118.000000 -4.000000,162.000000 -7.000000L221.000000 -7.000000C307.000000 -7.000000,419.000000 -7.000000,419.000000 79.000000C419.000000 133.000000,348.000000 183.000000,250.000000 183.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_108">
      <path style="fill-rule: evenodd;" d="M177.000000 -694.000000L33.000000 -683.000000L33.000000 -652.000000C103.000000 -652.000000,111.000000 -645.000000,111.000000 -596.000000L111.000000 -76.000000C111.000000 -31.000000,100.000000 -31.000000,33.000000 -31.000000L33.000000 -0.000000L144.000000 -0.000000L66.000000 -1.000000L119.000000 -3.000000L144.000000 -3.000000L169.000000 -3.000000L218.000000 -1.000000L255.000000 -0.000000L255.000000 -31.000000C188.000000 -31.000000,177.000000 -31.000000,177.000000 -76.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_111">
      <path style="fill-rule: evenodd;" d="M471.000000 -214.000000C471.000000 -342.000000,371.000000 -448.000000,250.000000 -448.000000C125.000000 -448.000000,28.000000 -339.000000,28.000000 -214.000000C28.000000 -85.000000,132.000000 11.000000,249.000000 11.000000C370.000000 11.000000,471.000000 -87.000000,471.000000 -214.000000M250.000000 -14.000000C207.000000 -14.000000,163.000000 -35.000000,136.000000 -81.000000C111.000000 -125.000000,111.000000 -186.000000,111.000000 -222.000000C111.000000 -261.000000,111.000000 -315.000000,135.000000 -359.000000C162.000000 -405.000000,209.000000 -426.000000,249.000000 -426.000000C293.000000 -426.000000,336.000000 -404.000000,362.000000 -361.000000C388.000000 -318.000000,388.000000 -260.000000,388.000000 -222.000000C388.000000 -186.000000,388.000000 -132.000000,366.000000 -88.000000C344.000000 -43.000000,300.000000 -14.000000,250.000000 -14.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_78">
      <path style="fill-rule: evenodd;" d="M756.000000 -578.000000C766.000000 -618.000000,784.000000 -649.000000,864.000000 -652.000000C869.000000 -652.000000,881.000000 -653.000000,881.000000 -672.000000C881.000000 -673.000000,881.000000 -683.000000,868.000000 -683.000000L767.000000 -683.000000L835.000000 -683.000000L800.000000 -680.000000L767.000000 -680.000000L733.000000 -680.000000L698.000000 -683.000000L665.000000 -683.000000C659.000000 -683.000000,647.000000 -683.000000,647.000000 -663.000000C647.000000 -652.000000,657.000000 -652.000000,665.000000 -652.000000C722.000000 -651.000000,733.000000 -630.000000,733.000000 -608.000000C733.000000 -605.000000,731.000000 -590.000000,730.000000 -587.000000L618.000000 -142.000000L397.000000 -664.000000C389.000000 -682.000000,388.000000 -683.000000,365.000000 -683.000000L231.000000 -683.000000C211.000000 -683.000000,202.000000 -683.000000,202.000000 -663.000000C202.000000 -652.000000,211.000000 -652.000000,230.000000 -652.000000C235.000000 -652.000000,298.000000 -652.000000,298.000000 -643.000000L164.000000 -106.000000C154.000000 -66.000000,137.000000 -34.000000,56.000000 -31.000000C50.000000 -31.000000,39.000000 -30.000000,39.000000 -11.000000C39.000000 -4.000000,44.000000 -0.000000,52.000000 -0.000000L152.000000 -0.000000L84.000000 -0.000000L119.000000 -3.000000L152.000000 -3.000000L186.000000 -3.000000L222.000000 -0.000000L255.000000 -0.000000C260.000000 -0.000000,273.000000 -0.000000,273.000000 -20.000000C273.000000 -30.000000,264.000000 -31.000000,253.000000 -31.000000C195.000000 -33.000000,187.000000 -55.000000,187.000000 -75.000000C187.000000 -82.000000,188.000000 -87.000000,191.000000 -98.000000L323.000000 -626.000000C327.000000 -620.000000,327.000000 -618.000000,332.000000 -608.000000L581.000000 -19.000000C588.000000 -2.000000,591.000000 -0.000000,600.000000 -0.000000C611.000000 -0.000000,611.000000 -3.000000,616.000000 -21.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_79">
      <path style="fill-rule: evenodd;" d="M740.000000 -436.000000C740.000000 -597.000000,634.000000 -705.000000,485.000000 -705.000000C269.000000 -705.000000,49.000000 -478.000000,49.000000 -245.000000C49.000000 -79.000000,161.000000 22.000000,305.000000 22.000000C517.000000 22.000000,740.000000 -197.000000,740.000000 -436.000000M311.000000 -4.000000C212.000000 -4.000000,142.000000 -85.000000,142.000000 -217.000000C142.000000 -261.000000,156.000000 -407.000000,233.000000 -524.000000C302.000000 -628.000000,400.000000 -680.000000,479.000000 -680.000000C561.000000 -680.000000,651.000000 -624.000000,651.000000 -475.000000C651.000000 -403.000000,624.000000 -247.000000,525.000000 -124.000000C477.000000 -63.000000,395.000000 -4.000000,311.000000 -4.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.140625 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_79"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,12.742279 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_40"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,18.941193 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_78"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,36.143326 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_108"></use>
    <use xlink:href="#GLYPHcmr10_111" x="2.777830"></use>
    <use xlink:href="#GLYPHcmr10_103" x="7.777925"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,56.733002 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_40"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,62.931900 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_78"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,77.477417 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_41"></use>
    <use xlink:href="#GLYPHcmr10_41" x="3.888963"></use>
  </g>
</svg></span> </td>
<td style="text-align:left">
<span title="8" style="vertical-align:-0.37221em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="6.72102em" height="1.12127em" viewBox="0 0 107.536240 17.940399">
<!-- Original BoundingBox: -53.768127 -8.970200 53.768112 8.970200 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_40">
      <path style="fill-rule: evenodd;" d="M331.000000 240.000000C331.000000 237.000000,331.000000 235.000000,314.000000 218.000000C189.000000 92.000000,157.000000 -97.000000,157.000000 -250.000000C157.000000 -424.000000,195.000000 -598.000000,318.000000 -723.000000C331.000000 -735.000000,331.000000 -737.000000,331.000000 -740.000000C331.000000 -747.000000,327.000000 -750.000000,321.000000 -750.000000C311.000000 -750.000000,221.000000 -682.000000,162.000000 -555.000000C111.000000 -445.000000,99.000000 -334.000000,99.000000 -250.000000C99.000000 -172.000000,110.000000 -51.000000,165.000000 62.000000C225.000000 185.000000,311.000000 250.000000,321.000000 250.000000C327.000000 250.000000,331.000000 247.000000,331.000000 240.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_41">
      <path style="fill-rule: evenodd;" d="M289.000000 -250.000000C289.000000 -328.000000,278.000000 -449.000000,223.000000 -562.000000C163.000000 -685.000000,77.000000 -750.000000,67.000000 -750.000000C61.000000 -750.000000,57.000000 -746.000000,57.000000 -740.000000C57.000000 -737.000000,57.000000 -735.000000,76.000000 -717.000000C174.000000 -618.000000,231.000000 -459.000000,231.000000 -250.000000C231.000000 -79.000000,194.000000 97.000000,70.000000 223.000000C57.000000 235.000000,57.000000 237.000000,57.000000 240.000000C57.000000 246.000000,61.000000 250.000000,67.000000 250.000000C77.000000 250.000000,167.000000 182.000000,226.000000 55.000000C277.000000 -55.000000,289.000000 -166.000000,289.000000 -250.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_103">
      <path style="fill-rule: evenodd;" d="M222.000000 -172.000000C135.000000 -172.000000,135.000000 -272.000000,135.000000 -295.000000C135.000000 -322.000000,136.000000 -354.000000,151.000000 -379.000000C159.000000 -391.000000,182.000000 -419.000000,222.000000 -419.000000C309.000000 -419.000000,309.000000 -319.000000,309.000000 -296.000000C309.000000 -269.000000,308.000000 -237.000000,293.000000 -212.000000C285.000000 -200.000000,262.000000 -172.000000,222.000000 -172.000000M106.000000 -133.000000C106.000000 -137.000000,106.000000 -160.000000,123.000000 -180.000000C162.000000 -152.000000,203.000000 -149.000000,222.000000 -149.000000C315.000000 -149.000000,384.000000 -218.000000,384.000000 -295.000000C384.000000 -332.000000,368.000000 -369.000000,343.000000 -392.000000C379.000000 -426.000000,415.000000 -431.000000,433.000000 -431.000000C435.000000 -431.000000,440.000000 -431.000000,443.000000 -430.000000C432.000000 -426.000000,427.000000 -415.000000,427.000000 -403.000000C427.000000 -386.000000,440.000000 -374.000000,456.000000 -374.000000C466.000000 -374.000000,485.000000 -381.000000,485.000000 -404.000000C485.000000 -421.000000,473.000000 -453.000000,434.000000 -453.000000C414.000000 -453.000000,370.000000 -447.000000,328.000000 -406.000000C286.000000 -439.000000,244.000000 -442.000000,222.000000 -442.000000C129.000000 -442.000000,60.000000 -373.000000,60.000000 -296.000000C60.000000 -252.000000,82.000000 -214.000000,107.000000 -193.000000C94.000000 -178.000000,76.000000 -145.000000,76.000000 -110.000000C76.000000 -79.000000,89.000000 -41.000000,120.000000 -21.000000C60.000000 -4.000000,28.000000 39.000000,28.000000 79.000000C28.000000 151.000000,127.000000 206.000000,249.000000 206.000000C367.000000 206.000000,471.000000 155.000000,471.000000 77.000000C471.000000 42.000000,457.000000 -9.000000,406.000000 -37.000000C353.000000 -65.000000,295.000000 -65.000000,234.000000 -65.000000C209.000000 -65.000000,166.000000 -65.000000,159.000000 -66.000000C127.000000 -70.000000,106.000000 -101.000000,106.000000 -133.000000M250.000000 183.000000C149.000000 183.000000,80.000000 132.000000,80.000000 79.000000C80.000000 33.000000,118.000000 -4.000000,162.000000 -7.000000L221.000000 -7.000000C307.000000 -7.000000,419.000000 -7.000000,419.000000 79.000000C419.000000 133.000000,348.000000 183.000000,250.000000 183.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_108">
      <path style="fill-rule: evenodd;" d="M177.000000 -694.000000L33.000000 -683.000000L33.000000 -652.000000C103.000000 -652.000000,111.000000 -645.000000,111.000000 -596.000000L111.000000 -76.000000C111.000000 -31.000000,100.000000 -31.000000,33.000000 -31.000000L33.000000 -0.000000L144.000000 -0.000000L66.000000 -1.000000L119.000000 -3.000000L144.000000 -3.000000L169.000000 -3.000000L218.000000 -1.000000L255.000000 -0.000000L255.000000 -31.000000C188.000000 -31.000000,177.000000 -31.000000,177.000000 -76.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_111">
      <path style="fill-rule: evenodd;" d="M471.000000 -214.000000C471.000000 -342.000000,371.000000 -448.000000,250.000000 -448.000000C125.000000 -448.000000,28.000000 -339.000000,28.000000 -214.000000C28.000000 -85.000000,132.000000 11.000000,249.000000 11.000000C370.000000 11.000000,471.000000 -87.000000,471.000000 -214.000000M250.000000 -14.000000C207.000000 -14.000000,163.000000 -35.000000,136.000000 -81.000000C111.000000 -125.000000,111.000000 -186.000000,111.000000 -222.000000C111.000000 -261.000000,111.000000 -315.000000,135.000000 -359.000000C162.000000 -405.000000,209.000000 -426.000000,249.000000 -426.000000C293.000000 -426.000000,336.000000 -404.000000,362.000000 -361.000000C388.000000 -318.000000,388.000000 -260.000000,388.000000 -222.000000C388.000000 -186.000000,388.000000 -132.000000,366.000000 -88.000000C344.000000 -43.000000,300.000000 -14.000000,250.000000 -14.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_78">
      <path style="fill-rule: evenodd;" d="M756.000000 -578.000000C766.000000 -618.000000,784.000000 -649.000000,864.000000 -652.000000C869.000000 -652.000000,881.000000 -653.000000,881.000000 -672.000000C881.000000 -673.000000,881.000000 -683.000000,868.000000 -683.000000L767.000000 -683.000000L835.000000 -683.000000L800.000000 -680.000000L767.000000 -680.000000L733.000000 -680.000000L698.000000 -683.000000L665.000000 -683.000000C659.000000 -683.000000,647.000000 -683.000000,647.000000 -663.000000C647.000000 -652.000000,657.000000 -652.000000,665.000000 -652.000000C722.000000 -651.000000,733.000000 -630.000000,733.000000 -608.000000C733.000000 -605.000000,731.000000 -590.000000,730.000000 -587.000000L618.000000 -142.000000L397.000000 -664.000000C389.000000 -682.000000,388.000000 -683.000000,365.000000 -683.000000L231.000000 -683.000000C211.000000 -683.000000,202.000000 -683.000000,202.000000 -663.000000C202.000000 -652.000000,211.000000 -652.000000,230.000000 -652.000000C235.000000 -652.000000,298.000000 -652.000000,298.000000 -643.000000L164.000000 -106.000000C154.000000 -66.000000,137.000000 -34.000000,56.000000 -31.000000C50.000000 -31.000000,39.000000 -30.000000,39.000000 -11.000000C39.000000 -4.000000,44.000000 -0.000000,52.000000 -0.000000L152.000000 -0.000000L84.000000 -0.000000L119.000000 -3.000000L152.000000 -3.000000L186.000000 -3.000000L222.000000 -0.000000L255.000000 -0.000000C260.000000 -0.000000,273.000000 -0.000000,273.000000 -20.000000C273.000000 -30.000000,264.000000 -31.000000,253.000000 -31.000000C195.000000 -33.000000,187.000000 -55.000000,187.000000 -75.000000C187.000000 -82.000000,188.000000 -87.000000,191.000000 -98.000000L323.000000 -626.000000C327.000000 -620.000000,327.000000 -618.000000,332.000000 -608.000000L581.000000 -19.000000C588.000000 -2.000000,591.000000 -0.000000,600.000000 -0.000000C611.000000 -0.000000,611.000000 -3.000000,616.000000 -21.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_79">
      <path style="fill-rule: evenodd;" d="M740.000000 -436.000000C740.000000 -597.000000,634.000000 -705.000000,485.000000 -705.000000C269.000000 -705.000000,49.000000 -478.000000,49.000000 -245.000000C49.000000 -79.000000,161.000000 22.000000,305.000000 22.000000C517.000000 22.000000,740.000000 -197.000000,740.000000 -436.000000M311.000000 -4.000000C212.000000 -4.000000,142.000000 -85.000000,142.000000 -217.000000C142.000000 -261.000000,156.000000 -407.000000,233.000000 -524.000000C302.000000 -628.000000,400.000000 -680.000000,479.000000 -680.000000C561.000000 -680.000000,651.000000 -624.000000,651.000000 -475.000000C651.000000 -403.000000,624.000000 -247.000000,525.000000 -124.000000C477.000000 -63.000000,395.000000 -4.000000,311.000000 -4.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.247864 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_79"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,12.849518 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_40"></use>
    <use xlink:href="#GLYPHcmr10_108" x="3.888963"></use>
    <use xlink:href="#GLYPHcmr10_111" x="6.666793"></use>
    <use xlink:href="#GLYPHcmr10_103" x="11.666888"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,39.638107 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_40"></use>
    <use xlink:href="#GLYPHcmr10_108" x="3.888963"></use>
    <use xlink:href="#GLYPHcmr10_111" x="6.666793"></use>
    <use xlink:href="#GLYPHcmr10_103" x="11.666888"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,66.426682 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_40"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,72.625580 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_78"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,87.171097 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_41"></use>
    <use xlink:href="#GLYPHcmr10_41" x="3.888963"></use>
    <use xlink:href="#GLYPHcmr10_41" x="7.777925"></use>
  </g>
</svg></span>  </td>
<td style="text-align:left">-  Slow structure creation</td>
</tr>
<tr>
<td style="text-align:left">
</td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
<td style="text-align:left">                                                                                           -  Very fast search</td>
</tr>
<tr>
<td style="text-align:left">
</td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
<td style="text-align:left">                                                                                           - Default for precomputation with <a href="prepare_object_model_3d.html"><code><span data-if="hdevelop" style="display:inline">prepare_object_model_3d</span><span data-if="c" style="display:none">prepare_object_model_3d</span><span data-if="cpp" style="display:none">PrepareObjectModel3d</span><span data-if="com" style="display:none">PrepareObjectModel3d</span><span data-if="dotnet" style="display:none">PrepareObjectModel3d</span><span data-if="python" style="display:none">prepare_object_model_3d</span></code></a>
</td>
</tr>
<tr>
<td style="text-align:left">
</td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
</tr>
<tr>
<td style="text-align:left">   </td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
</tr>
<tr>
<td style="text-align:left">
triangles </td>
<td style="text-align:left">linear    </td>
<td style="text-align:left">0             </td>
<td style="text-align:left">
<span title="9" style="vertical-align:-0.37221em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="2.59757em" height="1.12127em" viewBox="0 0 41.561111 17.940399">
<!-- Original BoundingBox: -20.780563 -8.970200 20.780548 8.970200 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_40">
      <path style="fill-rule: evenodd;" d="M331.000000 240.000000C331.000000 237.000000,331.000000 235.000000,314.000000 218.000000C189.000000 92.000000,157.000000 -97.000000,157.000000 -250.000000C157.000000 -424.000000,195.000000 -598.000000,318.000000 -723.000000C331.000000 -735.000000,331.000000 -737.000000,331.000000 -740.000000C331.000000 -747.000000,327.000000 -750.000000,321.000000 -750.000000C311.000000 -750.000000,221.000000 -682.000000,162.000000 -555.000000C111.000000 -445.000000,99.000000 -334.000000,99.000000 -250.000000C99.000000 -172.000000,110.000000 -51.000000,165.000000 62.000000C225.000000 185.000000,311.000000 250.000000,321.000000 250.000000C327.000000 250.000000,331.000000 247.000000,331.000000 240.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_41">
      <path style="fill-rule: evenodd;" d="M289.000000 -250.000000C289.000000 -328.000000,278.000000 -449.000000,223.000000 -562.000000C163.000000 -685.000000,77.000000 -750.000000,67.000000 -750.000000C61.000000 -750.000000,57.000000 -746.000000,57.000000 -740.000000C57.000000 -737.000000,57.000000 -735.000000,76.000000 -717.000000C174.000000 -618.000000,231.000000 -459.000000,231.000000 -250.000000C231.000000 -79.000000,194.000000 97.000000,70.000000 223.000000C57.000000 235.000000,57.000000 237.000000,57.000000 240.000000C57.000000 246.000000,61.000000 250.000000,67.000000 250.000000C77.000000 250.000000,167.000000 182.000000,226.000000 55.000000C277.000000 -55.000000,289.000000 -166.000000,289.000000 -250.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_78">
      <path style="fill-rule: evenodd;" d="M756.000000 -578.000000C766.000000 -618.000000,784.000000 -649.000000,864.000000 -652.000000C869.000000 -652.000000,881.000000 -653.000000,881.000000 -672.000000C881.000000 -673.000000,881.000000 -683.000000,868.000000 -683.000000L767.000000 -683.000000L835.000000 -683.000000L800.000000 -680.000000L767.000000 -680.000000L733.000000 -680.000000L698.000000 -683.000000L665.000000 -683.000000C659.000000 -683.000000,647.000000 -683.000000,647.000000 -663.000000C647.000000 -652.000000,657.000000 -652.000000,665.000000 -652.000000C722.000000 -651.000000,733.000000 -630.000000,733.000000 -608.000000C733.000000 -605.000000,731.000000 -590.000000,730.000000 -587.000000L618.000000 -142.000000L397.000000 -664.000000C389.000000 -682.000000,388.000000 -683.000000,365.000000 -683.000000L231.000000 -683.000000C211.000000 -683.000000,202.000000 -683.000000,202.000000 -663.000000C202.000000 -652.000000,211.000000 -652.000000,230.000000 -652.000000C235.000000 -652.000000,298.000000 -652.000000,298.000000 -643.000000L164.000000 -106.000000C154.000000 -66.000000,137.000000 -34.000000,56.000000 -31.000000C50.000000 -31.000000,39.000000 -30.000000,39.000000 -11.000000C39.000000 -4.000000,44.000000 -0.000000,52.000000 -0.000000L152.000000 -0.000000L84.000000 -0.000000L119.000000 -3.000000L152.000000 -3.000000L186.000000 -3.000000L222.000000 -0.000000L255.000000 -0.000000C260.000000 -0.000000,273.000000 -0.000000,273.000000 -20.000000C273.000000 -30.000000,264.000000 -31.000000,253.000000 -31.000000C195.000000 -33.000000,187.000000 -55.000000,187.000000 -75.000000C187.000000 -82.000000,188.000000 -87.000000,191.000000 -98.000000L323.000000 -626.000000C327.000000 -620.000000,327.000000 -618.000000,332.000000 -608.000000L581.000000 -19.000000C588.000000 -2.000000,591.000000 -0.000000,600.000000 -0.000000C611.000000 -0.000000,611.000000 -3.000000,616.000000 -21.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_79">
      <path style="fill-rule: evenodd;" d="M740.000000 -436.000000C740.000000 -597.000000,634.000000 -705.000000,485.000000 -705.000000C269.000000 -705.000000,49.000000 -478.000000,49.000000 -245.000000C49.000000 -79.000000,161.000000 22.000000,305.000000 22.000000C517.000000 22.000000,740.000000 -197.000000,740.000000 -436.000000M311.000000 -4.000000C212.000000 -4.000000,142.000000 -85.000000,142.000000 -217.000000C142.000000 -261.000000,156.000000 -407.000000,233.000000 -524.000000C302.000000 -628.000000,400.000000 -680.000000,479.000000 -680.000000C561.000000 -680.000000,651.000000 -624.000000,651.000000 -475.000000C651.000000 -403.000000,624.000000 -247.000000,525.000000 -124.000000C477.000000 -63.000000,395.000000 -4.000000,311.000000 -4.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.235428 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_79"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,12.837082 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_40"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,19.035995 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_78"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,33.581482 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_41"></use>
  </g>
</svg></span>                                          </td>
<td style="text-align:left">-  No precomputation</td>
</tr>
<tr>
<td style="text-align:left">
</td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
<td style="text-align:left">                                                                                           -  Fastest for small  <span title="10" style="vertical-align:-0.0903911em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1.03508em" height="0.805782em" viewBox="0 0 16.561340 12.892517">
<!-- Original BoundingBox: -8.280670 -6.446259 8.280670 6.446259 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_78">
      <path style="fill-rule: evenodd;" d="M756.000000 -578.000000C766.000000 -618.000000,784.000000 -649.000000,864.000000 -652.000000C869.000000 -652.000000,881.000000 -653.000000,881.000000 -672.000000C881.000000 -673.000000,881.000000 -683.000000,868.000000 -683.000000L767.000000 -683.000000L835.000000 -683.000000L800.000000 -680.000000L767.000000 -680.000000L733.000000 -680.000000L698.000000 -683.000000L665.000000 -683.000000C659.000000 -683.000000,647.000000 -683.000000,647.000000 -663.000000C647.000000 -652.000000,657.000000 -652.000000,665.000000 -652.000000C722.000000 -651.000000,733.000000 -630.000000,733.000000 -608.000000C733.000000 -605.000000,731.000000 -590.000000,730.000000 -587.000000L618.000000 -142.000000L397.000000 -664.000000C389.000000 -682.000000,388.000000 -683.000000,365.000000 -683.000000L231.000000 -683.000000C211.000000 -683.000000,202.000000 -683.000000,202.000000 -663.000000C202.000000 -652.000000,211.000000 -652.000000,230.000000 -652.000000C235.000000 -652.000000,298.000000 -652.000000,298.000000 -643.000000L164.000000 -106.000000C154.000000 -66.000000,137.000000 -34.000000,56.000000 -31.000000C50.000000 -31.000000,39.000000 -30.000000,39.000000 -11.000000C39.000000 -4.000000,44.000000 -0.000000,52.000000 -0.000000L152.000000 -0.000000L84.000000 -0.000000L119.000000 -3.000000L152.000000 -3.000000L186.000000 -3.000000L222.000000 -0.000000L255.000000 -0.000000C260.000000 -0.000000,273.000000 -0.000000,273.000000 -20.000000C273.000000 -30.000000,264.000000 -31.000000,253.000000 -31.000000C195.000000 -33.000000,187.000000 -55.000000,187.000000 -75.000000C187.000000 -82.000000,188.000000 -87.000000,191.000000 -98.000000L323.000000 -626.000000C327.000000 -620.000000,327.000000 -618.000000,332.000000 -608.000000L581.000000 -19.000000C588.000000 -2.000000,591.000000 -0.000000,600.000000 -0.000000C611.000000 -0.000000,611.000000 -3.000000,616.000000 -21.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.735321 11.446259)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_78"></use>
  </g>
</svg></span>
</td>
</tr>
<tr>
<td style="text-align:left">
</td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
<td style="text-align:left">                                                                                           -  Default</td>
</tr>
<tr>
<td style="text-align:left">
</td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
</tr>
<tr>
<td style="text-align:left">
triangles </td>
<td style="text-align:left">kd-tree   </td>
<td style="text-align:left">
<span title="11" style="vertical-align:-0.37221em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="5.73442em" height="1.12127em" viewBox="0 0 91.750732 17.940399">
<!-- Original BoundingBox: -45.875366 -8.970200 45.875366 8.970200 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_40">
      <path style="fill-rule: evenodd;" d="M331.000000 240.000000C331.000000 237.000000,331.000000 235.000000,314.000000 218.000000C189.000000 92.000000,157.000000 -97.000000,157.000000 -250.000000C157.000000 -424.000000,195.000000 -598.000000,318.000000 -723.000000C331.000000 -735.000000,331.000000 -737.000000,331.000000 -740.000000C331.000000 -747.000000,327.000000 -750.000000,321.000000 -750.000000C311.000000 -750.000000,221.000000 -682.000000,162.000000 -555.000000C111.000000 -445.000000,99.000000 -334.000000,99.000000 -250.000000C99.000000 -172.000000,110.000000 -51.000000,165.000000 62.000000C225.000000 185.000000,311.000000 250.000000,321.000000 250.000000C327.000000 250.000000,331.000000 247.000000,331.000000 240.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_41">
      <path style="fill-rule: evenodd;" d="M289.000000 -250.000000C289.000000 -328.000000,278.000000 -449.000000,223.000000 -562.000000C163.000000 -685.000000,77.000000 -750.000000,67.000000 -750.000000C61.000000 -750.000000,57.000000 -746.000000,57.000000 -740.000000C57.000000 -737.000000,57.000000 -735.000000,76.000000 -717.000000C174.000000 -618.000000,231.000000 -459.000000,231.000000 -250.000000C231.000000 -79.000000,194.000000 97.000000,70.000000 223.000000C57.000000 235.000000,57.000000 237.000000,57.000000 240.000000C57.000000 246.000000,61.000000 250.000000,67.000000 250.000000C77.000000 250.000000,167.000000 182.000000,226.000000 55.000000C277.000000 -55.000000,289.000000 -166.000000,289.000000 -250.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_103">
      <path style="fill-rule: evenodd;" d="M222.000000 -172.000000C135.000000 -172.000000,135.000000 -272.000000,135.000000 -295.000000C135.000000 -322.000000,136.000000 -354.000000,151.000000 -379.000000C159.000000 -391.000000,182.000000 -419.000000,222.000000 -419.000000C309.000000 -419.000000,309.000000 -319.000000,309.000000 -296.000000C309.000000 -269.000000,308.000000 -237.000000,293.000000 -212.000000C285.000000 -200.000000,262.000000 -172.000000,222.000000 -172.000000M106.000000 -133.000000C106.000000 -137.000000,106.000000 -160.000000,123.000000 -180.000000C162.000000 -152.000000,203.000000 -149.000000,222.000000 -149.000000C315.000000 -149.000000,384.000000 -218.000000,384.000000 -295.000000C384.000000 -332.000000,368.000000 -369.000000,343.000000 -392.000000C379.000000 -426.000000,415.000000 -431.000000,433.000000 -431.000000C435.000000 -431.000000,440.000000 -431.000000,443.000000 -430.000000C432.000000 -426.000000,427.000000 -415.000000,427.000000 -403.000000C427.000000 -386.000000,440.000000 -374.000000,456.000000 -374.000000C466.000000 -374.000000,485.000000 -381.000000,485.000000 -404.000000C485.000000 -421.000000,473.000000 -453.000000,434.000000 -453.000000C414.000000 -453.000000,370.000000 -447.000000,328.000000 -406.000000C286.000000 -439.000000,244.000000 -442.000000,222.000000 -442.000000C129.000000 -442.000000,60.000000 -373.000000,60.000000 -296.000000C60.000000 -252.000000,82.000000 -214.000000,107.000000 -193.000000C94.000000 -178.000000,76.000000 -145.000000,76.000000 -110.000000C76.000000 -79.000000,89.000000 -41.000000,120.000000 -21.000000C60.000000 -4.000000,28.000000 39.000000,28.000000 79.000000C28.000000 151.000000,127.000000 206.000000,249.000000 206.000000C367.000000 206.000000,471.000000 155.000000,471.000000 77.000000C471.000000 42.000000,457.000000 -9.000000,406.000000 -37.000000C353.000000 -65.000000,295.000000 -65.000000,234.000000 -65.000000C209.000000 -65.000000,166.000000 -65.000000,159.000000 -66.000000C127.000000 -70.000000,106.000000 -101.000000,106.000000 -133.000000M250.000000 183.000000C149.000000 183.000000,80.000000 132.000000,80.000000 79.000000C80.000000 33.000000,118.000000 -4.000000,162.000000 -7.000000L221.000000 -7.000000C307.000000 -7.000000,419.000000 -7.000000,419.000000 79.000000C419.000000 133.000000,348.000000 183.000000,250.000000 183.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_108">
      <path style="fill-rule: evenodd;" d="M177.000000 -694.000000L33.000000 -683.000000L33.000000 -652.000000C103.000000 -652.000000,111.000000 -645.000000,111.000000 -596.000000L111.000000 -76.000000C111.000000 -31.000000,100.000000 -31.000000,33.000000 -31.000000L33.000000 -0.000000L144.000000 -0.000000L66.000000 -1.000000L119.000000 -3.000000L144.000000 -3.000000L169.000000 -3.000000L218.000000 -1.000000L255.000000 -0.000000L255.000000 -31.000000C188.000000 -31.000000,177.000000 -31.000000,177.000000 -76.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_111">
      <path style="fill-rule: evenodd;" d="M471.000000 -214.000000C471.000000 -342.000000,371.000000 -448.000000,250.000000 -448.000000C125.000000 -448.000000,28.000000 -339.000000,28.000000 -214.000000C28.000000 -85.000000,132.000000 11.000000,249.000000 11.000000C370.000000 11.000000,471.000000 -87.000000,471.000000 -214.000000M250.000000 -14.000000C207.000000 -14.000000,163.000000 -35.000000,136.000000 -81.000000C111.000000 -125.000000,111.000000 -186.000000,111.000000 -222.000000C111.000000 -261.000000,111.000000 -315.000000,135.000000 -359.000000C162.000000 -405.000000,209.000000 -426.000000,249.000000 -426.000000C293.000000 -426.000000,336.000000 -404.000000,362.000000 -361.000000C388.000000 -318.000000,388.000000 -260.000000,388.000000 -222.000000C388.000000 -186.000000,388.000000 -132.000000,366.000000 -88.000000C344.000000 -43.000000,300.000000 -14.000000,250.000000 -14.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_78">
      <path style="fill-rule: evenodd;" d="M756.000000 -578.000000C766.000000 -618.000000,784.000000 -649.000000,864.000000 -652.000000C869.000000 -652.000000,881.000000 -653.000000,881.000000 -672.000000C881.000000 -673.000000,881.000000 -683.000000,868.000000 -683.000000L767.000000 -683.000000L835.000000 -683.000000L800.000000 -680.000000L767.000000 -680.000000L733.000000 -680.000000L698.000000 -683.000000L665.000000 -683.000000C659.000000 -683.000000,647.000000 -683.000000,647.000000 -663.000000C647.000000 -652.000000,657.000000 -652.000000,665.000000 -652.000000C722.000000 -651.000000,733.000000 -630.000000,733.000000 -608.000000C733.000000 -605.000000,731.000000 -590.000000,730.000000 -587.000000L618.000000 -142.000000L397.000000 -664.000000C389.000000 -682.000000,388.000000 -683.000000,365.000000 -683.000000L231.000000 -683.000000C211.000000 -683.000000,202.000000 -683.000000,202.000000 -663.000000C202.000000 -652.000000,211.000000 -652.000000,230.000000 -652.000000C235.000000 -652.000000,298.000000 -652.000000,298.000000 -643.000000L164.000000 -106.000000C154.000000 -66.000000,137.000000 -34.000000,56.000000 -31.000000C50.000000 -31.000000,39.000000 -30.000000,39.000000 -11.000000C39.000000 -4.000000,44.000000 -0.000000,52.000000 -0.000000L152.000000 -0.000000L84.000000 -0.000000L119.000000 -3.000000L152.000000 -3.000000L186.000000 -3.000000L222.000000 -0.000000L255.000000 -0.000000C260.000000 -0.000000,273.000000 -0.000000,273.000000 -20.000000C273.000000 -30.000000,264.000000 -31.000000,253.000000 -31.000000C195.000000 -33.000000,187.000000 -55.000000,187.000000 -75.000000C187.000000 -82.000000,188.000000 -87.000000,191.000000 -98.000000L323.000000 -626.000000C327.000000 -620.000000,327.000000 -618.000000,332.000000 -608.000000L581.000000 -19.000000C588.000000 -2.000000,591.000000 -0.000000,600.000000 -0.000000C611.000000 -0.000000,611.000000 -3.000000,616.000000 -21.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_79">
      <path style="fill-rule: evenodd;" d="M740.000000 -436.000000C740.000000 -597.000000,634.000000 -705.000000,485.000000 -705.000000C269.000000 -705.000000,49.000000 -478.000000,49.000000 -245.000000C49.000000 -79.000000,161.000000 22.000000,305.000000 22.000000C517.000000 22.000000,740.000000 -197.000000,740.000000 -436.000000M311.000000 -4.000000C212.000000 -4.000000,142.000000 -85.000000,142.000000 -217.000000C142.000000 -261.000000,156.000000 -407.000000,233.000000 -524.000000C302.000000 -628.000000,400.000000 -680.000000,479.000000 -680.000000C561.000000 -680.000000,651.000000 -624.000000,651.000000 -475.000000C651.000000 -403.000000,624.000000 -247.000000,525.000000 -124.000000C477.000000 -63.000000,395.000000 -4.000000,311.000000 -4.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.140625 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_79"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,12.742279 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_40"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,18.941193 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_78"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,36.143326 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_108"></use>
    <use xlink:href="#GLYPHcmr10_111" x="2.777830"></use>
    <use xlink:href="#GLYPHcmr10_103" x="7.777925"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,56.733002 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_40"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,62.931900 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_78"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,77.477417 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_41"></use>
    <use xlink:href="#GLYPHcmr10_41" x="3.888963"></use>
  </g>
</svg></span> </td>
<td style="text-align:left">
<span title="12" style="vertical-align:-0.37221em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="4.6593em" height="1.12127em" viewBox="0 0 74.548767 17.940399">
<!-- Original BoundingBox: -37.274384 -8.970200 37.274384 8.970200 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_40">
      <path style="fill-rule: evenodd;" d="M331.000000 240.000000C331.000000 237.000000,331.000000 235.000000,314.000000 218.000000C189.000000 92.000000,157.000000 -97.000000,157.000000 -250.000000C157.000000 -424.000000,195.000000 -598.000000,318.000000 -723.000000C331.000000 -735.000000,331.000000 -737.000000,331.000000 -740.000000C331.000000 -747.000000,327.000000 -750.000000,321.000000 -750.000000C311.000000 -750.000000,221.000000 -682.000000,162.000000 -555.000000C111.000000 -445.000000,99.000000 -334.000000,99.000000 -250.000000C99.000000 -172.000000,110.000000 -51.000000,165.000000 62.000000C225.000000 185.000000,311.000000 250.000000,321.000000 250.000000C327.000000 250.000000,331.000000 247.000000,331.000000 240.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_41">
      <path style="fill-rule: evenodd;" d="M289.000000 -250.000000C289.000000 -328.000000,278.000000 -449.000000,223.000000 -562.000000C163.000000 -685.000000,77.000000 -750.000000,67.000000 -750.000000C61.000000 -750.000000,57.000000 -746.000000,57.000000 -740.000000C57.000000 -737.000000,57.000000 -735.000000,76.000000 -717.000000C174.000000 -618.000000,231.000000 -459.000000,231.000000 -250.000000C231.000000 -79.000000,194.000000 97.000000,70.000000 223.000000C57.000000 235.000000,57.000000 237.000000,57.000000 240.000000C57.000000 246.000000,61.000000 250.000000,67.000000 250.000000C77.000000 250.000000,167.000000 182.000000,226.000000 55.000000C277.000000 -55.000000,289.000000 -166.000000,289.000000 -250.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_103">
      <path style="fill-rule: evenodd;" d="M222.000000 -172.000000C135.000000 -172.000000,135.000000 -272.000000,135.000000 -295.000000C135.000000 -322.000000,136.000000 -354.000000,151.000000 -379.000000C159.000000 -391.000000,182.000000 -419.000000,222.000000 -419.000000C309.000000 -419.000000,309.000000 -319.000000,309.000000 -296.000000C309.000000 -269.000000,308.000000 -237.000000,293.000000 -212.000000C285.000000 -200.000000,262.000000 -172.000000,222.000000 -172.000000M106.000000 -133.000000C106.000000 -137.000000,106.000000 -160.000000,123.000000 -180.000000C162.000000 -152.000000,203.000000 -149.000000,222.000000 -149.000000C315.000000 -149.000000,384.000000 -218.000000,384.000000 -295.000000C384.000000 -332.000000,368.000000 -369.000000,343.000000 -392.000000C379.000000 -426.000000,415.000000 -431.000000,433.000000 -431.000000C435.000000 -431.000000,440.000000 -431.000000,443.000000 -430.000000C432.000000 -426.000000,427.000000 -415.000000,427.000000 -403.000000C427.000000 -386.000000,440.000000 -374.000000,456.000000 -374.000000C466.000000 -374.000000,485.000000 -381.000000,485.000000 -404.000000C485.000000 -421.000000,473.000000 -453.000000,434.000000 -453.000000C414.000000 -453.000000,370.000000 -447.000000,328.000000 -406.000000C286.000000 -439.000000,244.000000 -442.000000,222.000000 -442.000000C129.000000 -442.000000,60.000000 -373.000000,60.000000 -296.000000C60.000000 -252.000000,82.000000 -214.000000,107.000000 -193.000000C94.000000 -178.000000,76.000000 -145.000000,76.000000 -110.000000C76.000000 -79.000000,89.000000 -41.000000,120.000000 -21.000000C60.000000 -4.000000,28.000000 39.000000,28.000000 79.000000C28.000000 151.000000,127.000000 206.000000,249.000000 206.000000C367.000000 206.000000,471.000000 155.000000,471.000000 77.000000C471.000000 42.000000,457.000000 -9.000000,406.000000 -37.000000C353.000000 -65.000000,295.000000 -65.000000,234.000000 -65.000000C209.000000 -65.000000,166.000000 -65.000000,159.000000 -66.000000C127.000000 -70.000000,106.000000 -101.000000,106.000000 -133.000000M250.000000 183.000000C149.000000 183.000000,80.000000 132.000000,80.000000 79.000000C80.000000 33.000000,118.000000 -4.000000,162.000000 -7.000000L221.000000 -7.000000C307.000000 -7.000000,419.000000 -7.000000,419.000000 79.000000C419.000000 133.000000,348.000000 183.000000,250.000000 183.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_108">
      <path style="fill-rule: evenodd;" d="M177.000000 -694.000000L33.000000 -683.000000L33.000000 -652.000000C103.000000 -652.000000,111.000000 -645.000000,111.000000 -596.000000L111.000000 -76.000000C111.000000 -31.000000,100.000000 -31.000000,33.000000 -31.000000L33.000000 -0.000000L144.000000 -0.000000L66.000000 -1.000000L119.000000 -3.000000L144.000000 -3.000000L169.000000 -3.000000L218.000000 -1.000000L255.000000 -0.000000L255.000000 -31.000000C188.000000 -31.000000,177.000000 -31.000000,177.000000 -76.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_111">
      <path style="fill-rule: evenodd;" d="M471.000000 -214.000000C471.000000 -342.000000,371.000000 -448.000000,250.000000 -448.000000C125.000000 -448.000000,28.000000 -339.000000,28.000000 -214.000000C28.000000 -85.000000,132.000000 11.000000,249.000000 11.000000C370.000000 11.000000,471.000000 -87.000000,471.000000 -214.000000M250.000000 -14.000000C207.000000 -14.000000,163.000000 -35.000000,136.000000 -81.000000C111.000000 -125.000000,111.000000 -186.000000,111.000000 -222.000000C111.000000 -261.000000,111.000000 -315.000000,135.000000 -359.000000C162.000000 -405.000000,209.000000 -426.000000,249.000000 -426.000000C293.000000 -426.000000,336.000000 -404.000000,362.000000 -361.000000C388.000000 -318.000000,388.000000 -260.000000,388.000000 -222.000000C388.000000 -186.000000,388.000000 -132.000000,366.000000 -88.000000C344.000000 -43.000000,300.000000 -14.000000,250.000000 -14.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_78">
      <path style="fill-rule: evenodd;" d="M756.000000 -578.000000C766.000000 -618.000000,784.000000 -649.000000,864.000000 -652.000000C869.000000 -652.000000,881.000000 -653.000000,881.000000 -672.000000C881.000000 -673.000000,881.000000 -683.000000,868.000000 -683.000000L767.000000 -683.000000L835.000000 -683.000000L800.000000 -680.000000L767.000000 -680.000000L733.000000 -680.000000L698.000000 -683.000000L665.000000 -683.000000C659.000000 -683.000000,647.000000 -683.000000,647.000000 -663.000000C647.000000 -652.000000,657.000000 -652.000000,665.000000 -652.000000C722.000000 -651.000000,733.000000 -630.000000,733.000000 -608.000000C733.000000 -605.000000,731.000000 -590.000000,730.000000 -587.000000L618.000000 -142.000000L397.000000 -664.000000C389.000000 -682.000000,388.000000 -683.000000,365.000000 -683.000000L231.000000 -683.000000C211.000000 -683.000000,202.000000 -683.000000,202.000000 -663.000000C202.000000 -652.000000,211.000000 -652.000000,230.000000 -652.000000C235.000000 -652.000000,298.000000 -652.000000,298.000000 -643.000000L164.000000 -106.000000C154.000000 -66.000000,137.000000 -34.000000,56.000000 -31.000000C50.000000 -31.000000,39.000000 -30.000000,39.000000 -11.000000C39.000000 -4.000000,44.000000 -0.000000,52.000000 -0.000000L152.000000 -0.000000L84.000000 -0.000000L119.000000 -3.000000L152.000000 -3.000000L186.000000 -3.000000L222.000000 -0.000000L255.000000 -0.000000C260.000000 -0.000000,273.000000 -0.000000,273.000000 -20.000000C273.000000 -30.000000,264.000000 -31.000000,253.000000 -31.000000C195.000000 -33.000000,187.000000 -55.000000,187.000000 -75.000000C187.000000 -82.000000,188.000000 -87.000000,191.000000 -98.000000L323.000000 -626.000000C327.000000 -620.000000,327.000000 -618.000000,332.000000 -608.000000L581.000000 -19.000000C588.000000 -2.000000,591.000000 -0.000000,600.000000 -0.000000C611.000000 -0.000000,611.000000 -3.000000,616.000000 -21.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_79">
      <path style="fill-rule: evenodd;" d="M740.000000 -436.000000C740.000000 -597.000000,634.000000 -705.000000,485.000000 -705.000000C269.000000 -705.000000,49.000000 -478.000000,49.000000 -245.000000C49.000000 -79.000000,161.000000 22.000000,305.000000 22.000000C517.000000 22.000000,740.000000 -197.000000,740.000000 -436.000000M311.000000 -4.000000C212.000000 -4.000000,142.000000 -85.000000,142.000000 -217.000000C142.000000 -261.000000,156.000000 -407.000000,233.000000 -524.000000C302.000000 -628.000000,400.000000 -680.000000,479.000000 -680.000000C561.000000 -680.000000,651.000000 -624.000000,651.000000 -475.000000C651.000000 -403.000000,624.000000 -247.000000,525.000000 -124.000000C477.000000 -63.000000,395.000000 -4.000000,311.000000 -4.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.741608 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_79"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,13.343262 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_40"></use>
    <use xlink:href="#GLYPHcmr10_108" x="3.888963"></use>
    <use xlink:href="#GLYPHcmr10_111" x="6.666793"></use>
    <use xlink:href="#GLYPHcmr10_103" x="11.666888"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,40.131851 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_40"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,46.330750 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_78"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,60.876236 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_41"></use>
    <use xlink:href="#GLYPHcmr10_41" x="3.888963"></use>
  </g>
</svg></span>              </td>
<td style="text-align:left">-  Fast structure creation</td>
</tr>
<tr>
<td style="text-align:left">
</td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
<td style="text-align:left">                                                                                           -  Non-constant search time</td>
</tr>
<tr>
<td style="text-align:left">
</td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
</tr>
<tr>
<td style="text-align:left">
triangles </td>
<td style="text-align:left">voxel     </td>
<td style="text-align:left">
<span title="13" style="vertical-align:-0.37221em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="5.73442em" height="1.12127em" viewBox="0 0 91.750732 17.940399">
<!-- Original BoundingBox: -45.875366 -8.970200 45.875366 8.970200 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_40">
      <path style="fill-rule: evenodd;" d="M331.000000 240.000000C331.000000 237.000000,331.000000 235.000000,314.000000 218.000000C189.000000 92.000000,157.000000 -97.000000,157.000000 -250.000000C157.000000 -424.000000,195.000000 -598.000000,318.000000 -723.000000C331.000000 -735.000000,331.000000 -737.000000,331.000000 -740.000000C331.000000 -747.000000,327.000000 -750.000000,321.000000 -750.000000C311.000000 -750.000000,221.000000 -682.000000,162.000000 -555.000000C111.000000 -445.000000,99.000000 -334.000000,99.000000 -250.000000C99.000000 -172.000000,110.000000 -51.000000,165.000000 62.000000C225.000000 185.000000,311.000000 250.000000,321.000000 250.000000C327.000000 250.000000,331.000000 247.000000,331.000000 240.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_41">
      <path style="fill-rule: evenodd;" d="M289.000000 -250.000000C289.000000 -328.000000,278.000000 -449.000000,223.000000 -562.000000C163.000000 -685.000000,77.000000 -750.000000,67.000000 -750.000000C61.000000 -750.000000,57.000000 -746.000000,57.000000 -740.000000C57.000000 -737.000000,57.000000 -735.000000,76.000000 -717.000000C174.000000 -618.000000,231.000000 -459.000000,231.000000 -250.000000C231.000000 -79.000000,194.000000 97.000000,70.000000 223.000000C57.000000 235.000000,57.000000 237.000000,57.000000 240.000000C57.000000 246.000000,61.000000 250.000000,67.000000 250.000000C77.000000 250.000000,167.000000 182.000000,226.000000 55.000000C277.000000 -55.000000,289.000000 -166.000000,289.000000 -250.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_103">
      <path style="fill-rule: evenodd;" d="M222.000000 -172.000000C135.000000 -172.000000,135.000000 -272.000000,135.000000 -295.000000C135.000000 -322.000000,136.000000 -354.000000,151.000000 -379.000000C159.000000 -391.000000,182.000000 -419.000000,222.000000 -419.000000C309.000000 -419.000000,309.000000 -319.000000,309.000000 -296.000000C309.000000 -269.000000,308.000000 -237.000000,293.000000 -212.000000C285.000000 -200.000000,262.000000 -172.000000,222.000000 -172.000000M106.000000 -133.000000C106.000000 -137.000000,106.000000 -160.000000,123.000000 -180.000000C162.000000 -152.000000,203.000000 -149.000000,222.000000 -149.000000C315.000000 -149.000000,384.000000 -218.000000,384.000000 -295.000000C384.000000 -332.000000,368.000000 -369.000000,343.000000 -392.000000C379.000000 -426.000000,415.000000 -431.000000,433.000000 -431.000000C435.000000 -431.000000,440.000000 -431.000000,443.000000 -430.000000C432.000000 -426.000000,427.000000 -415.000000,427.000000 -403.000000C427.000000 -386.000000,440.000000 -374.000000,456.000000 -374.000000C466.000000 -374.000000,485.000000 -381.000000,485.000000 -404.000000C485.000000 -421.000000,473.000000 -453.000000,434.000000 -453.000000C414.000000 -453.000000,370.000000 -447.000000,328.000000 -406.000000C286.000000 -439.000000,244.000000 -442.000000,222.000000 -442.000000C129.000000 -442.000000,60.000000 -373.000000,60.000000 -296.000000C60.000000 -252.000000,82.000000 -214.000000,107.000000 -193.000000C94.000000 -178.000000,76.000000 -145.000000,76.000000 -110.000000C76.000000 -79.000000,89.000000 -41.000000,120.000000 -21.000000C60.000000 -4.000000,28.000000 39.000000,28.000000 79.000000C28.000000 151.000000,127.000000 206.000000,249.000000 206.000000C367.000000 206.000000,471.000000 155.000000,471.000000 77.000000C471.000000 42.000000,457.000000 -9.000000,406.000000 -37.000000C353.000000 -65.000000,295.000000 -65.000000,234.000000 -65.000000C209.000000 -65.000000,166.000000 -65.000000,159.000000 -66.000000C127.000000 -70.000000,106.000000 -101.000000,106.000000 -133.000000M250.000000 183.000000C149.000000 183.000000,80.000000 132.000000,80.000000 79.000000C80.000000 33.000000,118.000000 -4.000000,162.000000 -7.000000L221.000000 -7.000000C307.000000 -7.000000,419.000000 -7.000000,419.000000 79.000000C419.000000 133.000000,348.000000 183.000000,250.000000 183.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_108">
      <path style="fill-rule: evenodd;" d="M177.000000 -694.000000L33.000000 -683.000000L33.000000 -652.000000C103.000000 -652.000000,111.000000 -645.000000,111.000000 -596.000000L111.000000 -76.000000C111.000000 -31.000000,100.000000 -31.000000,33.000000 -31.000000L33.000000 -0.000000L144.000000 -0.000000L66.000000 -1.000000L119.000000 -3.000000L144.000000 -3.000000L169.000000 -3.000000L218.000000 -1.000000L255.000000 -0.000000L255.000000 -31.000000C188.000000 -31.000000,177.000000 -31.000000,177.000000 -76.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_111">
      <path style="fill-rule: evenodd;" d="M471.000000 -214.000000C471.000000 -342.000000,371.000000 -448.000000,250.000000 -448.000000C125.000000 -448.000000,28.000000 -339.000000,28.000000 -214.000000C28.000000 -85.000000,132.000000 11.000000,249.000000 11.000000C370.000000 11.000000,471.000000 -87.000000,471.000000 -214.000000M250.000000 -14.000000C207.000000 -14.000000,163.000000 -35.000000,136.000000 -81.000000C111.000000 -125.000000,111.000000 -186.000000,111.000000 -222.000000C111.000000 -261.000000,111.000000 -315.000000,135.000000 -359.000000C162.000000 -405.000000,209.000000 -426.000000,249.000000 -426.000000C293.000000 -426.000000,336.000000 -404.000000,362.000000 -361.000000C388.000000 -318.000000,388.000000 -260.000000,388.000000 -222.000000C388.000000 -186.000000,388.000000 -132.000000,366.000000 -88.000000C344.000000 -43.000000,300.000000 -14.000000,250.000000 -14.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_78">
      <path style="fill-rule: evenodd;" d="M756.000000 -578.000000C766.000000 -618.000000,784.000000 -649.000000,864.000000 -652.000000C869.000000 -652.000000,881.000000 -653.000000,881.000000 -672.000000C881.000000 -673.000000,881.000000 -683.000000,868.000000 -683.000000L767.000000 -683.000000L835.000000 -683.000000L800.000000 -680.000000L767.000000 -680.000000L733.000000 -680.000000L698.000000 -683.000000L665.000000 -683.000000C659.000000 -683.000000,647.000000 -683.000000,647.000000 -663.000000C647.000000 -652.000000,657.000000 -652.000000,665.000000 -652.000000C722.000000 -651.000000,733.000000 -630.000000,733.000000 -608.000000C733.000000 -605.000000,731.000000 -590.000000,730.000000 -587.000000L618.000000 -142.000000L397.000000 -664.000000C389.000000 -682.000000,388.000000 -683.000000,365.000000 -683.000000L231.000000 -683.000000C211.000000 -683.000000,202.000000 -683.000000,202.000000 -663.000000C202.000000 -652.000000,211.000000 -652.000000,230.000000 -652.000000C235.000000 -652.000000,298.000000 -652.000000,298.000000 -643.000000L164.000000 -106.000000C154.000000 -66.000000,137.000000 -34.000000,56.000000 -31.000000C50.000000 -31.000000,39.000000 -30.000000,39.000000 -11.000000C39.000000 -4.000000,44.000000 -0.000000,52.000000 -0.000000L152.000000 -0.000000L84.000000 -0.000000L119.000000 -3.000000L152.000000 -3.000000L186.000000 -3.000000L222.000000 -0.000000L255.000000 -0.000000C260.000000 -0.000000,273.000000 -0.000000,273.000000 -20.000000C273.000000 -30.000000,264.000000 -31.000000,253.000000 -31.000000C195.000000 -33.000000,187.000000 -55.000000,187.000000 -75.000000C187.000000 -82.000000,188.000000 -87.000000,191.000000 -98.000000L323.000000 -626.000000C327.000000 -620.000000,327.000000 -618.000000,332.000000 -608.000000L581.000000 -19.000000C588.000000 -2.000000,591.000000 -0.000000,600.000000 -0.000000C611.000000 -0.000000,611.000000 -3.000000,616.000000 -21.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_79">
      <path style="fill-rule: evenodd;" d="M740.000000 -436.000000C740.000000 -597.000000,634.000000 -705.000000,485.000000 -705.000000C269.000000 -705.000000,49.000000 -478.000000,49.000000 -245.000000C49.000000 -79.000000,161.000000 22.000000,305.000000 22.000000C517.000000 22.000000,740.000000 -197.000000,740.000000 -436.000000M311.000000 -4.000000C212.000000 -4.000000,142.000000 -85.000000,142.000000 -217.000000C142.000000 -261.000000,156.000000 -407.000000,233.000000 -524.000000C302.000000 -628.000000,400.000000 -680.000000,479.000000 -680.000000C561.000000 -680.000000,651.000000 -624.000000,651.000000 -475.000000C651.000000 -403.000000,624.000000 -247.000000,525.000000 -124.000000C477.000000 -63.000000,395.000000 -4.000000,311.000000 -4.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.140625 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_79"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,12.742279 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_40"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,18.941193 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_78"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,36.143326 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_108"></use>
    <use xlink:href="#GLYPHcmr10_111" x="2.777830"></use>
    <use xlink:href="#GLYPHcmr10_103" x="7.777925"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,56.733002 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_40"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,62.931900 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_78"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,77.477417 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_41"></use>
    <use xlink:href="#GLYPHcmr10_41" x="3.888963"></use>
  </g>
</svg></span> </td>
<td style="text-align:left">
<span title="14" style="vertical-align:-0.37221em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="6.72102em" height="1.12127em" viewBox="0 0 107.536240 17.940399">
<!-- Original BoundingBox: -53.768127 -8.970200 53.768112 8.970200 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_40">
      <path style="fill-rule: evenodd;" d="M331.000000 240.000000C331.000000 237.000000,331.000000 235.000000,314.000000 218.000000C189.000000 92.000000,157.000000 -97.000000,157.000000 -250.000000C157.000000 -424.000000,195.000000 -598.000000,318.000000 -723.000000C331.000000 -735.000000,331.000000 -737.000000,331.000000 -740.000000C331.000000 -747.000000,327.000000 -750.000000,321.000000 -750.000000C311.000000 -750.000000,221.000000 -682.000000,162.000000 -555.000000C111.000000 -445.000000,99.000000 -334.000000,99.000000 -250.000000C99.000000 -172.000000,110.000000 -51.000000,165.000000 62.000000C225.000000 185.000000,311.000000 250.000000,321.000000 250.000000C327.000000 250.000000,331.000000 247.000000,331.000000 240.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_41">
      <path style="fill-rule: evenodd;" d="M289.000000 -250.000000C289.000000 -328.000000,278.000000 -449.000000,223.000000 -562.000000C163.000000 -685.000000,77.000000 -750.000000,67.000000 -750.000000C61.000000 -750.000000,57.000000 -746.000000,57.000000 -740.000000C57.000000 -737.000000,57.000000 -735.000000,76.000000 -717.000000C174.000000 -618.000000,231.000000 -459.000000,231.000000 -250.000000C231.000000 -79.000000,194.000000 97.000000,70.000000 223.000000C57.000000 235.000000,57.000000 237.000000,57.000000 240.000000C57.000000 246.000000,61.000000 250.000000,67.000000 250.000000C77.000000 250.000000,167.000000 182.000000,226.000000 55.000000C277.000000 -55.000000,289.000000 -166.000000,289.000000 -250.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_103">
      <path style="fill-rule: evenodd;" d="M222.000000 -172.000000C135.000000 -172.000000,135.000000 -272.000000,135.000000 -295.000000C135.000000 -322.000000,136.000000 -354.000000,151.000000 -379.000000C159.000000 -391.000000,182.000000 -419.000000,222.000000 -419.000000C309.000000 -419.000000,309.000000 -319.000000,309.000000 -296.000000C309.000000 -269.000000,308.000000 -237.000000,293.000000 -212.000000C285.000000 -200.000000,262.000000 -172.000000,222.000000 -172.000000M106.000000 -133.000000C106.000000 -137.000000,106.000000 -160.000000,123.000000 -180.000000C162.000000 -152.000000,203.000000 -149.000000,222.000000 -149.000000C315.000000 -149.000000,384.000000 -218.000000,384.000000 -295.000000C384.000000 -332.000000,368.000000 -369.000000,343.000000 -392.000000C379.000000 -426.000000,415.000000 -431.000000,433.000000 -431.000000C435.000000 -431.000000,440.000000 -431.000000,443.000000 -430.000000C432.000000 -426.000000,427.000000 -415.000000,427.000000 -403.000000C427.000000 -386.000000,440.000000 -374.000000,456.000000 -374.000000C466.000000 -374.000000,485.000000 -381.000000,485.000000 -404.000000C485.000000 -421.000000,473.000000 -453.000000,434.000000 -453.000000C414.000000 -453.000000,370.000000 -447.000000,328.000000 -406.000000C286.000000 -439.000000,244.000000 -442.000000,222.000000 -442.000000C129.000000 -442.000000,60.000000 -373.000000,60.000000 -296.000000C60.000000 -252.000000,82.000000 -214.000000,107.000000 -193.000000C94.000000 -178.000000,76.000000 -145.000000,76.000000 -110.000000C76.000000 -79.000000,89.000000 -41.000000,120.000000 -21.000000C60.000000 -4.000000,28.000000 39.000000,28.000000 79.000000C28.000000 151.000000,127.000000 206.000000,249.000000 206.000000C367.000000 206.000000,471.000000 155.000000,471.000000 77.000000C471.000000 42.000000,457.000000 -9.000000,406.000000 -37.000000C353.000000 -65.000000,295.000000 -65.000000,234.000000 -65.000000C209.000000 -65.000000,166.000000 -65.000000,159.000000 -66.000000C127.000000 -70.000000,106.000000 -101.000000,106.000000 -133.000000M250.000000 183.000000C149.000000 183.000000,80.000000 132.000000,80.000000 79.000000C80.000000 33.000000,118.000000 -4.000000,162.000000 -7.000000L221.000000 -7.000000C307.000000 -7.000000,419.000000 -7.000000,419.000000 79.000000C419.000000 133.000000,348.000000 183.000000,250.000000 183.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_108">
      <path style="fill-rule: evenodd;" d="M177.000000 -694.000000L33.000000 -683.000000L33.000000 -652.000000C103.000000 -652.000000,111.000000 -645.000000,111.000000 -596.000000L111.000000 -76.000000C111.000000 -31.000000,100.000000 -31.000000,33.000000 -31.000000L33.000000 -0.000000L144.000000 -0.000000L66.000000 -1.000000L119.000000 -3.000000L144.000000 -3.000000L169.000000 -3.000000L218.000000 -1.000000L255.000000 -0.000000L255.000000 -31.000000C188.000000 -31.000000,177.000000 -31.000000,177.000000 -76.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_111">
      <path style="fill-rule: evenodd;" d="M471.000000 -214.000000C471.000000 -342.000000,371.000000 -448.000000,250.000000 -448.000000C125.000000 -448.000000,28.000000 -339.000000,28.000000 -214.000000C28.000000 -85.000000,132.000000 11.000000,249.000000 11.000000C370.000000 11.000000,471.000000 -87.000000,471.000000 -214.000000M250.000000 -14.000000C207.000000 -14.000000,163.000000 -35.000000,136.000000 -81.000000C111.000000 -125.000000,111.000000 -186.000000,111.000000 -222.000000C111.000000 -261.000000,111.000000 -315.000000,135.000000 -359.000000C162.000000 -405.000000,209.000000 -426.000000,249.000000 -426.000000C293.000000 -426.000000,336.000000 -404.000000,362.000000 -361.000000C388.000000 -318.000000,388.000000 -260.000000,388.000000 -222.000000C388.000000 -186.000000,388.000000 -132.000000,366.000000 -88.000000C344.000000 -43.000000,300.000000 -14.000000,250.000000 -14.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_78">
      <path style="fill-rule: evenodd;" d="M756.000000 -578.000000C766.000000 -618.000000,784.000000 -649.000000,864.000000 -652.000000C869.000000 -652.000000,881.000000 -653.000000,881.000000 -672.000000C881.000000 -673.000000,881.000000 -683.000000,868.000000 -683.000000L767.000000 -683.000000L835.000000 -683.000000L800.000000 -680.000000L767.000000 -680.000000L733.000000 -680.000000L698.000000 -683.000000L665.000000 -683.000000C659.000000 -683.000000,647.000000 -683.000000,647.000000 -663.000000C647.000000 -652.000000,657.000000 -652.000000,665.000000 -652.000000C722.000000 -651.000000,733.000000 -630.000000,733.000000 -608.000000C733.000000 -605.000000,731.000000 -590.000000,730.000000 -587.000000L618.000000 -142.000000L397.000000 -664.000000C389.000000 -682.000000,388.000000 -683.000000,365.000000 -683.000000L231.000000 -683.000000C211.000000 -683.000000,202.000000 -683.000000,202.000000 -663.000000C202.000000 -652.000000,211.000000 -652.000000,230.000000 -652.000000C235.000000 -652.000000,298.000000 -652.000000,298.000000 -643.000000L164.000000 -106.000000C154.000000 -66.000000,137.000000 -34.000000,56.000000 -31.000000C50.000000 -31.000000,39.000000 -30.000000,39.000000 -11.000000C39.000000 -4.000000,44.000000 -0.000000,52.000000 -0.000000L152.000000 -0.000000L84.000000 -0.000000L119.000000 -3.000000L152.000000 -3.000000L186.000000 -3.000000L222.000000 -0.000000L255.000000 -0.000000C260.000000 -0.000000,273.000000 -0.000000,273.000000 -20.000000C273.000000 -30.000000,264.000000 -31.000000,253.000000 -31.000000C195.000000 -33.000000,187.000000 -55.000000,187.000000 -75.000000C187.000000 -82.000000,188.000000 -87.000000,191.000000 -98.000000L323.000000 -626.000000C327.000000 -620.000000,327.000000 -618.000000,332.000000 -608.000000L581.000000 -19.000000C588.000000 -2.000000,591.000000 -0.000000,600.000000 -0.000000C611.000000 -0.000000,611.000000 -3.000000,616.000000 -21.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_79">
      <path style="fill-rule: evenodd;" d="M740.000000 -436.000000C740.000000 -597.000000,634.000000 -705.000000,485.000000 -705.000000C269.000000 -705.000000,49.000000 -478.000000,49.000000 -245.000000C49.000000 -79.000000,161.000000 22.000000,305.000000 22.000000C517.000000 22.000000,740.000000 -197.000000,740.000000 -436.000000M311.000000 -4.000000C212.000000 -4.000000,142.000000 -85.000000,142.000000 -217.000000C142.000000 -261.000000,156.000000 -407.000000,233.000000 -524.000000C302.000000 -628.000000,400.000000 -680.000000,479.000000 -680.000000C561.000000 -680.000000,651.000000 -624.000000,651.000000 -475.000000C651.000000 -403.000000,624.000000 -247.000000,525.000000 -124.000000C477.000000 -63.000000,395.000000 -4.000000,311.000000 -4.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.247864 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_79"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,12.849518 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_40"></use>
    <use xlink:href="#GLYPHcmr10_108" x="3.888963"></use>
    <use xlink:href="#GLYPHcmr10_111" x="6.666793"></use>
    <use xlink:href="#GLYPHcmr10_103" x="11.666888"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,39.638107 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_40"></use>
    <use xlink:href="#GLYPHcmr10_108" x="3.888963"></use>
    <use xlink:href="#GLYPHcmr10_111" x="6.666793"></use>
    <use xlink:href="#GLYPHcmr10_103" x="11.666888"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,66.426682 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_40"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,72.625580 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_78"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,87.171097 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_41"></use>
    <use xlink:href="#GLYPHcmr10_41" x="3.888963"></use>
    <use xlink:href="#GLYPHcmr10_41" x="7.777925"></use>
  </g>
</svg></span>   </td>
<td style="text-align:left">-  Slow structure creation</td>
</tr>
<tr>
<td style="text-align:left">
</td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
<td style="text-align:left">                                                                                           -  Requires sampling distance</td>
</tr>
<tr>
<td style="text-align:left">
</td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
<td style="text-align:left">                                                                                           -  Very fast search</td>
</tr>
<tr>
<td style="text-align:left">
</td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
<td style="text-align:left">                                                                                           -  Small errors possible</td>
</tr>
<tr>
<td style="text-align:left">
</td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
<td style="text-align:left">                                                                                           - Default for precomputation with  <a href="prepare_object_model_3d.html"><code><span data-if="hdevelop" style="display:inline">prepare_object_model_3d</span><span data-if="c" style="display:none">prepare_object_model_3d</span><span data-if="cpp" style="display:none">PrepareObjectModel3d</span><span data-if="com" style="display:none">PrepareObjectModel3d</span><span data-if="dotnet" style="display:none">PrepareObjectModel3d</span><span data-if="python" style="display:none">prepare_object_model_3d</span></code></a>
</td>
</tr>
<tr>
<td style="text-align:left">
</td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
</tr>
<tr>
<td style="text-align:left">
</td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
</tr>
<tr>
<td style="text-align:left">
primitive </td>
<td style="text-align:left">linear    </td>
<td style="text-align:left">0             </td>
<td style="text-align:left"> <span title="15" style="vertical-align:-0.37221em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="2.18661em" height="1.12127em" viewBox="0 0 34.985718 17.940399">
<!-- Original BoundingBox: -17.492859 -8.970200 17.492859 8.970200 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_40">
      <path style="fill-rule: evenodd;" d="M331.000000 240.000000C331.000000 237.000000,331.000000 235.000000,314.000000 218.000000C189.000000 92.000000,157.000000 -97.000000,157.000000 -250.000000C157.000000 -424.000000,195.000000 -598.000000,318.000000 -723.000000C331.000000 -735.000000,331.000000 -737.000000,331.000000 -740.000000C331.000000 -747.000000,327.000000 -750.000000,321.000000 -750.000000C311.000000 -750.000000,221.000000 -682.000000,162.000000 -555.000000C111.000000 -445.000000,99.000000 -334.000000,99.000000 -250.000000C99.000000 -172.000000,110.000000 -51.000000,165.000000 62.000000C225.000000 185.000000,311.000000 250.000000,321.000000 250.000000C327.000000 250.000000,331.000000 247.000000,331.000000 240.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_41">
      <path style="fill-rule: evenodd;" d="M289.000000 -250.000000C289.000000 -328.000000,278.000000 -449.000000,223.000000 -562.000000C163.000000 -685.000000,77.000000 -750.000000,67.000000 -750.000000C61.000000 -750.000000,57.000000 -746.000000,57.000000 -740.000000C57.000000 -737.000000,57.000000 -735.000000,76.000000 -717.000000C174.000000 -618.000000,231.000000 -459.000000,231.000000 -250.000000C231.000000 -79.000000,194.000000 97.000000,70.000000 223.000000C57.000000 235.000000,57.000000 237.000000,57.000000 240.000000C57.000000 246.000000,61.000000 250.000000,67.000000 250.000000C77.000000 250.000000,167.000000 182.000000,226.000000 55.000000C277.000000 -55.000000,289.000000 -166.000000,289.000000 -250.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_49">
      <path style="fill-rule: evenodd;" d="M294.000000 -640.000000C294.000000 -664.000000,294.000000 -666.000000,271.000000 -666.000000C209.000000 -602.000000,121.000000 -602.000000,89.000000 -602.000000L89.000000 -571.000000C109.000000 -571.000000,168.000000 -571.000000,220.000000 -597.000000L220.000000 -79.000000C220.000000 -43.000000,217.000000 -31.000000,127.000000 -31.000000L95.000000 -31.000000L95.000000 -0.000000L257.000000 -0.000000L130.000000 -3.000000L217.000000 -3.000000L257.000000 -3.000000L297.000000 -3.000000L384.000000 -3.000000L419.000000 -0.000000L419.000000 -31.000000L387.000000 -31.000000C297.000000 -31.000000,294.000000 -42.000000,294.000000 -79.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_79">
      <path style="fill-rule: evenodd;" d="M740.000000 -436.000000C740.000000 -597.000000,634.000000 -705.000000,485.000000 -705.000000C269.000000 -705.000000,49.000000 -478.000000,49.000000 -245.000000C49.000000 -79.000000,161.000000 22.000000,305.000000 22.000000C517.000000 22.000000,740.000000 -197.000000,740.000000 -436.000000M311.000000 -4.000000C212.000000 -4.000000,142.000000 -85.000000,142.000000 -217.000000C142.000000 -261.000000,156.000000 -407.000000,233.000000 -524.000000C302.000000 -628.000000,400.000000 -680.000000,479.000000 -680.000000C561.000000 -680.000000,651.000000 -624.000000,651.000000 -475.000000C651.000000 -403.000000,624.000000 -247.000000,525.000000 -124.000000C477.000000 -63.000000,395.000000 -4.000000,311.000000 -4.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.523132 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_79"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,13.124786 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_40"></use>
    <use xlink:href="#GLYPHcmr10_49" x="3.888963"></use>
    <use xlink:href="#GLYPHcmr10_41" x="8.889057"></use>
  </g>
</svg></span>                                         </td>
<td style="text-align:left">
</td>
</tr>
</table></div>
<p>Additionally to the parameters described above, the following parameters can
be set to influence the distance computation.
If desired, these parameters and their
corresponding values can be specified by using <a href="#GenParamName"><i><code><span data-if="hdevelop" style="display:inline">GenParamName</span><span data-if="c" style="display:none">GenParamName</span><span data-if="cpp" style="display:none">GenParamName</span><span data-if="com" style="display:none">GenParamName</span><span data-if="dotnet" style="display:none">genParamName</span><span data-if="python" style="display:none">gen_param_name</span></code></i></a>
and <a href="#GenParamValue"><i><code><span data-if="hdevelop" style="display:inline">GenParamValue</span><span data-if="c" style="display:none">GenParamValue</span><span data-if="cpp" style="display:none">GenParamValue</span><span data-if="com" style="display:none">GenParamValue</span><span data-if="dotnet" style="display:none">genParamValue</span><span data-if="python" style="display:none">gen_param_value</span></code></i></a>, respectively.
All of the following parameters are optional.
</p>
<dl class="generic">

<dt><b><i><span data-if="hdevelop" style="display:inline">'distance_to'</span><span data-if="c" style="display:none">"distance_to"</span><span data-if="cpp" style="display:none">"distance_to"</span><span data-if="com" style="display:none">"distance_to"</span><span data-if="dotnet" style="display:none">"distance_to"</span><span data-if="python" style="display:none">"distance_to"</span></i></b></dt>
<dd>
<p>
 This parameter can be used to explicitly set
the target data to which the distances are computed.
</p>
<dl class="generic">

<dt><b><i><span data-if="hdevelop" style="display:inline">'auto'</span><span data-if="c" style="display:none">"auto"</span><span data-if="cpp" style="display:none">"auto"</span><span data-if="com" style="display:none">"auto"</span><span data-if="dotnet" style="display:none">"auto"</span><span data-if="python" style="display:none">"auto"</span></i></b></dt>
<dd><p>
 (Default) Automatically set the target data.
The following list of attributes is queried, and the first appearing
attribute from the list is used as target data: Primitive, Triangle,
Point.
</p></dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'primitive'</span><span data-if="c" style="display:none">"primitive"</span><span data-if="cpp" style="display:none">"primitive"</span><span data-if="com" style="display:none">"primitive"</span><span data-if="dotnet" style="display:none">"primitive"</span><span data-if="python" style="display:none">"primitive"</span></i></b></dt>
<dd><p>
 Compute the distance to the primitive contained
in <a href="#ObjectModel3DTo"><i><code><span data-if="hdevelop" style="display:inline">ObjectModel3DTo</span><span data-if="c" style="display:none">ObjectModel3DTo</span><span data-if="cpp" style="display:none">ObjectModel3DTo</span><span data-if="com" style="display:none">ObjectModel3DTo</span><span data-if="dotnet" style="display:none">objectModel3DTo</span><span data-if="python" style="display:none">object_model_3dto</span></code></i></a>.
</p></dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'triangles'</span><span data-if="c" style="display:none">"triangles"</span><span data-if="cpp" style="display:none">"triangles"</span><span data-if="com" style="display:none">"triangles"</span><span data-if="dotnet" style="display:none">"triangles"</span><span data-if="python" style="display:none">"triangles"</span></i></b></dt>
<dd><p>
 Compute the distance to the triangles contained
in <a href="#ObjectModel3DTo"><i><code><span data-if="hdevelop" style="display:inline">ObjectModel3DTo</span><span data-if="c" style="display:none">ObjectModel3DTo</span><span data-if="cpp" style="display:none">ObjectModel3DTo</span><span data-if="com" style="display:none">ObjectModel3DTo</span><span data-if="dotnet" style="display:none">objectModel3DTo</span><span data-if="python" style="display:none">object_model_3dto</span></code></i></a>.
</p></dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'points'</span><span data-if="c" style="display:none">"points"</span><span data-if="cpp" style="display:none">"points"</span><span data-if="com" style="display:none">"points"</span><span data-if="dotnet" style="display:none">"points"</span><span data-if="python" style="display:none">"points"</span></i></b></dt>
<dd><p>
 Compute the distance to the points contained
in <a href="#ObjectModel3DTo"><i><code><span data-if="hdevelop" style="display:inline">ObjectModel3DTo</span><span data-if="c" style="display:none">ObjectModel3DTo</span><span data-if="cpp" style="display:none">ObjectModel3DTo</span><span data-if="com" style="display:none">ObjectModel3DTo</span><span data-if="dotnet" style="display:none">objectModel3DTo</span><span data-if="python" style="display:none">object_model_3dto</span></code></i></a>.
</p></dd>
</dl>

</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'method'</span><span data-if="c" style="display:none">"method"</span><span data-if="cpp" style="display:none">"method"</span><span data-if="com" style="display:none">"method"</span><span data-if="dotnet" style="display:none">"method"</span><span data-if="python" style="display:none">"method"</span></i></b></dt>
<dd>
<p>
 This parameter can be used to explicitly set
the method to be used for the distance computation. Note that not all
methods are available for all target data types. For the list of possible
pairs of target data type and method, see above.
</p>
<dl class="generic">

<dt><b><i><span data-if="hdevelop" style="display:inline">'auto'</span><span data-if="c" style="display:none">"auto"</span><span data-if="cpp" style="display:none">"auto"</span><span data-if="com" style="display:none">"auto"</span><span data-if="dotnet" style="display:none">"auto"</span><span data-if="python" style="display:none">"auto"</span></i></b></dt>
<dd><p>
 (Default) Use the default method for the used
target data type.
</p></dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'linear'</span><span data-if="c" style="display:none">"linear"</span><span data-if="cpp" style="display:none">"linear"</span><span data-if="com" style="display:none">"linear"</span><span data-if="dotnet" style="display:none">"linear"</span><span data-if="python" style="display:none">"linear"</span></i></b></dt>
<dd><p>
 Use a linear search for computing the distances.
</p></dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'kd-tree'</span><span data-if="c" style="display:none">"kd-tree"</span><span data-if="cpp" style="display:none">"kd-tree"</span><span data-if="com" style="display:none">"kd-tree"</span><span data-if="dotnet" style="display:none">"kd-tree"</span><span data-if="python" style="display:none">"kd-tree"</span></i></b></dt>
<dd><p>
 Use a KD-Tree for computing the distances.
</p></dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'voxel'</span><span data-if="c" style="display:none">"voxel"</span><span data-if="cpp" style="display:none">"voxel"</span><span data-if="com" style="display:none">"voxel"</span><span data-if="dotnet" style="display:none">"voxel"</span><span data-if="python" style="display:none">"voxel"</span></i></b></dt>
<dd><p>
 Use a voxel structure for computing the distances.
</p></dd>
</dl>

</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'invert_pose'</span><span data-if="c" style="display:none">"invert_pose"</span><span data-if="cpp" style="display:none">"invert_pose"</span><span data-if="com" style="display:none">"invert_pose"</span><span data-if="dotnet" style="display:none">"invert_pose"</span><span data-if="python" style="display:none">"invert_pose"</span></i></b></dt>
<dd>
<p>
 This parameter can be used to invert the pose
given in <a href="#Pose"><i><code><span data-if="hdevelop" style="display:inline">Pose</span><span data-if="c" style="display:none">Pose</span><span data-if="cpp" style="display:none">Pose</span><span data-if="com" style="display:none">Pose</span><span data-if="dotnet" style="display:none">pose</span><span data-if="python" style="display:none">pose</span></code></i></a>.
</p>
<dl class="generic">

<dt><b><i><span data-if="hdevelop" style="display:inline">'false'</span><span data-if="c" style="display:none">"false"</span><span data-if="cpp" style="display:none">"false"</span><span data-if="com" style="display:none">"false"</span><span data-if="dotnet" style="display:none">"false"</span><span data-if="python" style="display:none">"false"</span></i></b></dt>
<dd><p>
 (Default) The pose is not inverted.
</p></dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'true'</span><span data-if="c" style="display:none">"true"</span><span data-if="cpp" style="display:none">"true"</span><span data-if="com" style="display:none">"true"</span><span data-if="dotnet" style="display:none">"true"</span><span data-if="python" style="display:none">"true"</span></i></b></dt>
<dd><p>
 The pose is inverted.
</p></dd>
</dl>

</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'output_attribute'</span><span data-if="c" style="display:none">"output_attribute"</span><span data-if="cpp" style="display:none">"output_attribute"</span><span data-if="com" style="display:none">"output_attribute"</span><span data-if="dotnet" style="display:none">"output_attribute"</span><span data-if="python" style="display:none">"output_attribute"</span></i></b></dt>
<dd>
<p>
 This parameter can be used to set the name
of the attribute in which the distances are stored.
By default, the distances are stored in an extended attribute named
<i><span data-if="hdevelop" style="display:inline">'&amp;distance'</span><span data-if="c" style="display:none">"&amp;distance"</span><span data-if="cpp" style="display:none">"&amp;distance"</span><span data-if="com" style="display:none">"&amp;distance"</span><span data-if="dotnet" style="display:none">"&amp;distance"</span><span data-if="python" style="display:none">"&amp;distance"</span></i> in <a href="#ObjectModel3DFrom"><i><code><span data-if="hdevelop" style="display:inline">ObjectModel3DFrom</span><span data-if="c" style="display:none">ObjectModel3DFrom</span><span data-if="cpp" style="display:none">ObjectModel3DFrom</span><span data-if="com" style="display:none">ObjectModel3DFrom</span><span data-if="dotnet" style="display:none">objectModel3DFrom</span><span data-if="python" style="display:none">object_model_3dfrom</span></code></i></a>.
However, if the same 3D object model is used for different calls of this
operator, the result of the previous call would be overwritten.
This can be avoided by changing the name of the extended attribute.
Valid extended attribute names start with a <i><span data-if="hdevelop" style="display:inline">'&amp;'</span><span data-if="c" style="display:none">"&amp;"</span><span data-if="cpp" style="display:none">"&amp;"</span><span data-if="com" style="display:none">"&amp;"</span><span data-if="dotnet" style="display:none">"&amp;"</span><span data-if="python" style="display:none">"&amp;"</span></i>.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'sampling_dist_rel'</span><span data-if="c" style="display:none">"sampling_dist_rel"</span><span data-if="cpp" style="display:none">"sampling_dist_rel"</span><span data-if="com" style="display:none">"sampling_dist_rel"</span><span data-if="dotnet" style="display:none">"sampling_dist_rel"</span><span data-if="python" style="display:none">"sampling_dist_rel"</span></i>, <i><span data-if="hdevelop" style="display:inline">'sampling_dist_abs'</span><span data-if="c" style="display:none">"sampling_dist_abs"</span><span data-if="cpp" style="display:none">"sampling_dist_abs"</span><span data-if="com" style="display:none">"sampling_dist_abs"</span><span data-if="dotnet" style="display:none">"sampling_dist_abs"</span><span data-if="python" style="display:none">"sampling_dist_abs"</span></i></b></dt>
<dd>
<p>

These parameters are used when computing the distances to triangles
using the voxel method.
For this, the triangles need to be sampled.
The sampling distance can be set either in absolute terms, using
<i><span data-if="hdevelop" style="display:inline">'sampling_dist_abs'</span><span data-if="c" style="display:none">"sampling_dist_abs"</span><span data-if="cpp" style="display:none">"sampling_dist_abs"</span><span data-if="com" style="display:none">"sampling_dist_abs"</span><span data-if="dotnet" style="display:none">"sampling_dist_abs"</span><span data-if="python" style="display:none">"sampling_dist_abs"</span></i>, or relative to the diameter of the
axis aligned bounding box, using <i><span data-if="hdevelop" style="display:inline">'sampling_dist_rel'</span><span data-if="c" style="display:none">"sampling_dist_rel"</span><span data-if="cpp" style="display:none">"sampling_dist_rel"</span><span data-if="com" style="display:none">"sampling_dist_rel"</span><span data-if="dotnet" style="display:none">"sampling_dist_rel"</span><span data-if="python" style="display:none">"sampling_dist_rel"</span></i>.
By default, <i><span data-if="hdevelop" style="display:inline">'sampling_dist_rel'</span><span data-if="c" style="display:none">"sampling_dist_rel"</span><span data-if="cpp" style="display:none">"sampling_dist_rel"</span><span data-if="com" style="display:none">"sampling_dist_rel"</span><span data-if="dotnet" style="display:none">"sampling_dist_rel"</span><span data-if="python" style="display:none">"sampling_dist_rel"</span></i> is set to 0.03.
Only one of the two parameters can be set.
The diameter of the axis aligned bounding box can be queried using
<a href="get_object_model_3d_params.html"><code><span data-if="hdevelop" style="display:inline">get_object_model_3d_params</span><span data-if="c" style="display:none">get_object_model_3d_params</span><span data-if="cpp" style="display:none">GetObjectModel3dParams</span><span data-if="com" style="display:none">GetObjectModel3dParams</span><span data-if="dotnet" style="display:none">GetObjectModel3dParams</span><span data-if="python" style="display:none">get_object_model_3d_params</span></code></a>.
Note that the creation of the voxel data structure is very time
consuming, and is usually performed offline using
<a href="prepare_object_model_3d.html"><code><span data-if="hdevelop" style="display:inline">prepare_object_model_3d</span><span data-if="c" style="display:none">prepare_object_model_3d</span><span data-if="cpp" style="display:none">PrepareObjectModel3d</span><span data-if="com" style="display:none">PrepareObjectModel3d</span><span data-if="dotnet" style="display:none">PrepareObjectModel3d</span><span data-if="python" style="display:none">prepare_object_model_3d</span></code></a> (see above).
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'store_closest_index'</span><span data-if="c" style="display:none">"store_closest_index"</span><span data-if="cpp" style="display:none">"store_closest_index"</span><span data-if="com" style="display:none">"store_closest_index"</span><span data-if="dotnet" style="display:none">"store_closest_index"</span><span data-if="python" style="display:none">"store_closest_index"</span></i></b></dt>
<dd>
<p>
 This parameter can be used to
return the index of the closest point or triangle in the extended
attribute '&amp;closest_index'.
</p>
<dl class="generic">

<dt><b><i><span data-if="hdevelop" style="display:inline">'false'</span><span data-if="c" style="display:none">"false"</span><span data-if="cpp" style="display:none">"false"</span><span data-if="com" style="display:none">"false"</span><span data-if="dotnet" style="display:none">"false"</span><span data-if="python" style="display:none">"false"</span></i></b></dt>
<dd><p>
 (Default) The index is not returned.
</p></dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'true'</span><span data-if="c" style="display:none">"true"</span><span data-if="cpp" style="display:none">"true"</span><span data-if="com" style="display:none">"true"</span><span data-if="dotnet" style="display:none">"true"</span><span data-if="python" style="display:none">"true"</span></i></b></dt>
<dd><p>
 The index is returned.
</p></dd>
</dl>

</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'signed_distances'</span><span data-if="c" style="display:none">"signed_distances"</span><span data-if="cpp" style="display:none">"signed_distances"</span><span data-if="com" style="display:none">"signed_distances"</span><span data-if="dotnet" style="display:none">"signed_distances"</span><span data-if="python" style="display:none">"signed_distances"</span></i></b></dt>
<dd>
<p>

This parameter can be used to calculate signed distances of the points
in the 3D object model <a href="#ObjectModel3DFrom"><i><code><span data-if="hdevelop" style="display:inline">ObjectModel3DFrom</span><span data-if="c" style="display:none">ObjectModel3DFrom</span><span data-if="cpp" style="display:none">ObjectModel3DFrom</span><span data-if="com" style="display:none">ObjectModel3DFrom</span><span data-if="dotnet" style="display:none">objectModel3DFrom</span><span data-if="python" style="display:none">object_model_3dfrom</span></code></i></a> to the points, triangles
or primitive in the 3D object model <a href="#ObjectModel3DTo"><i><code><span data-if="hdevelop" style="display:inline">ObjectModel3DTo</span><span data-if="c" style="display:none">ObjectModel3DTo</span><span data-if="cpp" style="display:none">ObjectModel3DTo</span><span data-if="com" style="display:none">ObjectModel3DTo</span><span data-if="dotnet" style="display:none">objectModel3DTo</span><span data-if="python" style="display:none">object_model_3dto</span></code></i></a>.
</p>
<dl class="generic">

<dt><b><i><span data-if="hdevelop" style="display:inline">'false'</span><span data-if="c" style="display:none">"false"</span><span data-if="cpp" style="display:none">"false"</span><span data-if="com" style="display:none">"false"</span><span data-if="dotnet" style="display:none">"false"</span><span data-if="python" style="display:none">"false"</span></i></b></dt>
<dd><p>
 (Default) Unsigned distances are returned.
</p></dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'true'</span><span data-if="c" style="display:none">"true"</span><span data-if="cpp" style="display:none">"true"</span><span data-if="com" style="display:none">"true"</span><span data-if="dotnet" style="display:none">"true"</span><span data-if="python" style="display:none">"true"</span></i></b></dt>
<dd><p>
 Signed distances are returned.
</p></dd>
</dl>

<p>Dependent on the available target data (points, triangles or primitive)
the following particularities have to be considered:
</p>
<dl class="generic">

<dt><b>Distance to points:</b></dt>
<dd>
<p>
 The computation of signed distances is only
supported for the methods <i><span data-if="hdevelop" style="display:inline">'kd-tree'</span><span data-if="c" style="display:none">"kd-tree"</span><span data-if="cpp" style="display:none">"kd-tree"</span><span data-if="com" style="display:none">"kd-tree"</span><span data-if="dotnet" style="display:none">"kd-tree"</span><span data-if="python" style="display:none">"kd-tree"</span></i> and <i><span data-if="hdevelop" style="display:inline">'linear'</span><span data-if="c" style="display:none">"linear"</span><span data-if="cpp" style="display:none">"linear"</span><span data-if="com" style="display:none">"linear"</span><span data-if="dotnet" style="display:none">"linear"</span><span data-if="python" style="display:none">"linear"</span></i>.
However, signed distances can only be calculated if point normals
are available for the points in the 3D object model or attached via the
operator <a href="set_object_model_3d_attrib_mod.html"><code><span data-if="hdevelop" style="display:inline">set_object_model_3d_attrib_mod</span><span data-if="c" style="display:none">set_object_model_3d_attrib_mod</span><span data-if="cpp" style="display:none">SetObjectModel3dAttribMod</span><span data-if="com" style="display:none">SetObjectModel3dAttribMod</span><span data-if="dotnet" style="display:none">SetObjectModel3dAttribMod</span><span data-if="python" style="display:none">set_object_model_3d_attrib_mod</span></code></a>.
</p>
</dd>

<dt><b>Distance to triangles:</b></dt>
<dd>
<p>
 Signed distances can be calculated for all
methods listed above. 该算子 returns a negative distance, if the dot
product with the normal vector of the triangle is less than zero.
Otherwise, the distance is positive.
</p>
</dd>

<dt><b>Distance to primitive:</b></dt>
<dd><p>
 When calculating signed distances to a
cylindrical, spherical or box-shaped primitive, the points of the 3D
object model <a href="#ObjectModel3DFrom"><i><code><span data-if="hdevelop" style="display:inline">ObjectModel3DFrom</span><span data-if="c" style="display:none">ObjectModel3DFrom</span><span data-if="cpp" style="display:none">ObjectModel3DFrom</span><span data-if="com" style="display:none">ObjectModel3DFrom</span><span data-if="dotnet" style="display:none">objectModel3DFrom</span><span data-if="python" style="display:none">object_model_3dfrom</span></code></i></a> inside the primitive obtain a
negative distance, whereas all others have a positive distance.
When calculating signed distances to planes, all points beneath the
plane obtain a negative distance, whereas all others have a positive one.
</p></dd>
</dl>
</dd>
</dl>
<h2 id="sec_execution">运行信息</h2>
<ul>
  <li>多线程类型:可重入(与非独占操作符并行运行)。</li>
<li>多线程作用域:全局(可以从任何线程调用)。</li>
  
    <li>Automatically parallelized on internal data level.</li>
  
</ul>
<h2 id="sec_parameters">参数表</h2>
  <div class="par">
<div class="parhead">
<span id="ObjectModel3DFrom" class="parname"><b><code><span data-if="hdevelop" style="display:inline">ObjectModel3DFrom</span><span data-if="c" style="display:none">ObjectModel3DFrom</span><span data-if="cpp" style="display:none">ObjectModel3DFrom</span><span data-if="com" style="display:none">ObjectModel3DFrom</span><span data-if="dotnet" style="display:none">objectModel3DFrom</span><span data-if="python" style="display:none">object_model_3dfrom</span></code></b> (input_control)  </span><span>object_model_3d <code>→</code> <span data-if="dotnet" style="display:none"><a href="HObjectModel3D.html">HObjectModel3D</a>, </span><span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">HHandle</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (handle)</span><span data-if="dotnet" style="display:none"> (<i>IntPtr</i>)</span><span data-if="cpp" style="display:none"> (<i>HHandle</i>)</span><span data-if="c" style="display:none"> (<i>handle</i>)</span></span>
</div>
<p class="pardesc">Handle of the source 3D object model.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="ObjectModel3DTo" class="parname"><b><code><span data-if="hdevelop" style="display:inline">ObjectModel3DTo</span><span data-if="c" style="display:none">ObjectModel3DTo</span><span data-if="cpp" style="display:none">ObjectModel3DTo</span><span data-if="com" style="display:none">ObjectModel3DTo</span><span data-if="dotnet" style="display:none">objectModel3DTo</span><span data-if="python" style="display:none">object_model_3dto</span></code></b> (input_control)  </span><span>object_model_3d <code>→</code> <span data-if="dotnet" style="display:none"><a href="HObjectModel3D.html">HObjectModel3D</a>, </span><span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">HHandle</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (handle)</span><span data-if="dotnet" style="display:none"> (<i>IntPtr</i>)</span><span data-if="cpp" style="display:none"> (<i>HHandle</i>)</span><span data-if="c" style="display:none"> (<i>handle</i>)</span></span>
</div>
<p class="pardesc">Handle of the target 3D object model.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="Pose" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Pose</span><span data-if="c" style="display:none">Pose</span><span data-if="cpp" style="display:none">Pose</span><span data-if="com" style="display:none">Pose</span><span data-if="dotnet" style="display:none">pose</span><span data-if="python" style="display:none">pose</span></code></b> (input_control)  </span><span>pose <code>→</code> <span data-if="dotnet" style="display:none"><a href="HPose.html">HPose</a>, </span><span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[Union[float, int]]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real / </span><span data-if="hdevelop" style="display:inline">integer)</span><span data-if="dotnet" style="display:none"> (<i>double</i> / </span><span data-if="dotnet" style="display:none">int / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>double</i> / </span><span data-if="cpp" style="display:none">Hlong)</span><span data-if="c" style="display:none"> (<i>double</i> / </span><span data-if="c" style="display:none">Hlong)</span></span>
</div>
<p class="pardesc">Pose of the source 3D object model in the target
3D object model.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>[]</p>
</div>
  <div class="par">
<div class="parhead">
<span id="MaxDistance" class="parname"><b><code><span data-if="hdevelop" style="display:inline">MaxDistance</span><span data-if="c" style="display:none">MaxDistance</span><span data-if="cpp" style="display:none">MaxDistance</span><span data-if="com" style="display:none">MaxDistance</span><span data-if="dotnet" style="display:none">maxDistance</span><span data-if="python" style="display:none">max_distance</span></code></b> (input_control)  </span><span>number <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Union[float, int]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real / </span><span data-if="hdevelop" style="display:inline">integer)</span><span data-if="dotnet" style="display:none"> (<i>double</i> / </span><span data-if="dotnet" style="display:none">int / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>double</i> / </span><span data-if="cpp" style="display:none">Hlong)</span><span data-if="c" style="display:none"> (<i>double</i> / </span><span data-if="c" style="display:none">Hlong)</span></span>
</div>
<p class="pardesc">Maximum distance of interest.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>0</p>
</div>
  <div class="par">
<div class="parhead">
<span id="GenParamName" class="parname"><b><code><span data-if="hdevelop" style="display:inline">GenParamName</span><span data-if="c" style="display:none">GenParamName</span><span data-if="cpp" style="display:none">GenParamName</span><span data-if="com" style="display:none">GenParamName</span><span data-if="dotnet" style="display:none">genParamName</span><span data-if="python" style="display:none">gen_param_name</span></code></b> (input_control)  </span><span>attribute.name(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">MaybeSequence[str]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string)</span><span data-if="dotnet" style="display:none"> (<i>string</i>)</span><span data-if="cpp" style="display:none"> (<i>HString</i>)</span><span data-if="c" style="display:none"> (<i>char*</i>)</span></span>
</div>
<p class="pardesc">Names of the generic input parameters.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>[]</p>
<p class="pardesc"><span class="parcat">List of values:
      </span><span data-if="hdevelop" style="display:inline">'distance_to'</span><span data-if="c" style="display:none">"distance_to"</span><span data-if="cpp" style="display:none">"distance_to"</span><span data-if="com" style="display:none">"distance_to"</span><span data-if="dotnet" style="display:none">"distance_to"</span><span data-if="python" style="display:none">"distance_to"</span>, <span data-if="hdevelop" style="display:inline">'invert_pose'</span><span data-if="c" style="display:none">"invert_pose"</span><span data-if="cpp" style="display:none">"invert_pose"</span><span data-if="com" style="display:none">"invert_pose"</span><span data-if="dotnet" style="display:none">"invert_pose"</span><span data-if="python" style="display:none">"invert_pose"</span>, <span data-if="hdevelop" style="display:inline">'method'</span><span data-if="c" style="display:none">"method"</span><span data-if="cpp" style="display:none">"method"</span><span data-if="com" style="display:none">"method"</span><span data-if="dotnet" style="display:none">"method"</span><span data-if="python" style="display:none">"method"</span>, <span data-if="hdevelop" style="display:inline">'output_attribute'</span><span data-if="c" style="display:none">"output_attribute"</span><span data-if="cpp" style="display:none">"output_attribute"</span><span data-if="com" style="display:none">"output_attribute"</span><span data-if="dotnet" style="display:none">"output_attribute"</span><span data-if="python" style="display:none">"output_attribute"</span>, <span data-if="hdevelop" style="display:inline">'sampling_dist_abs'</span><span data-if="c" style="display:none">"sampling_dist_abs"</span><span data-if="cpp" style="display:none">"sampling_dist_abs"</span><span data-if="com" style="display:none">"sampling_dist_abs"</span><span data-if="dotnet" style="display:none">"sampling_dist_abs"</span><span data-if="python" style="display:none">"sampling_dist_abs"</span>, <span data-if="hdevelop" style="display:inline">'sampling_dist_rel'</span><span data-if="c" style="display:none">"sampling_dist_rel"</span><span data-if="cpp" style="display:none">"sampling_dist_rel"</span><span data-if="com" style="display:none">"sampling_dist_rel"</span><span data-if="dotnet" style="display:none">"sampling_dist_rel"</span><span data-if="python" style="display:none">"sampling_dist_rel"</span>, <span data-if="hdevelop" style="display:inline">'signed_distances'</span><span data-if="c" style="display:none">"signed_distances"</span><span data-if="cpp" style="display:none">"signed_distances"</span><span data-if="com" style="display:none">"signed_distances"</span><span data-if="dotnet" style="display:none">"signed_distances"</span><span data-if="python" style="display:none">"signed_distances"</span>, <span data-if="hdevelop" style="display:inline">'store_closest_index'</span><span data-if="c" style="display:none">"store_closest_index"</span><span data-if="cpp" style="display:none">"store_closest_index"</span><span data-if="com" style="display:none">"store_closest_index"</span><span data-if="dotnet" style="display:none">"store_closest_index"</span><span data-if="python" style="display:none">"store_closest_index"</span></p>
</div>
  <div class="par">
<div class="parhead">
<span id="GenParamValue" class="parname"><b><code><span data-if="hdevelop" style="display:inline">GenParamValue</span><span data-if="c" style="display:none">GenParamValue</span><span data-if="cpp" style="display:none">GenParamValue</span><span data-if="com" style="display:none">GenParamValue</span><span data-if="dotnet" style="display:none">genParamValue</span><span data-if="python" style="display:none">gen_param_value</span></code></b> (input_control)  </span><span>attribute.value(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">MaybeSequence[Union[int, str, float]]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string / </span><span data-if="hdevelop" style="display:inline">integer / </span><span data-if="hdevelop" style="display:inline">real)</span><span data-if="dotnet" style="display:none"> (<i>string</i> / </span><span data-if="dotnet" style="display:none">int / </span><span data-if="dotnet" style="display:none">long / </span><span data-if="dotnet" style="display:none">double)</span><span data-if="cpp" style="display:none"> (<i>HString</i> / </span><span data-if="cpp" style="display:none">Hlong / </span><span data-if="cpp" style="display:none">double)</span><span data-if="c" style="display:none"> (<i>char*</i> / </span><span data-if="c" style="display:none">Hlong / </span><span data-if="c" style="display:none">double)</span></span>
</div>
<p class="pardesc">Values of the generic input parameters.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>[]</p>
<p class="pardesc"><span class="parcat">List of values:
      </span><span data-if="hdevelop" style="display:inline">'auto'</span><span data-if="c" style="display:none">"auto"</span><span data-if="cpp" style="display:none">"auto"</span><span data-if="com" style="display:none">"auto"</span><span data-if="dotnet" style="display:none">"auto"</span><span data-if="python" style="display:none">"auto"</span>, <span data-if="hdevelop" style="display:inline">'false'</span><span data-if="c" style="display:none">"false"</span><span data-if="cpp" style="display:none">"false"</span><span data-if="com" style="display:none">"false"</span><span data-if="dotnet" style="display:none">"false"</span><span data-if="python" style="display:none">"false"</span>, <span data-if="hdevelop" style="display:inline">'kd-tree'</span><span data-if="c" style="display:none">"kd-tree"</span><span data-if="cpp" style="display:none">"kd-tree"</span><span data-if="com" style="display:none">"kd-tree"</span><span data-if="dotnet" style="display:none">"kd-tree"</span><span data-if="python" style="display:none">"kd-tree"</span>, <span data-if="hdevelop" style="display:inline">'linear'</span><span data-if="c" style="display:none">"linear"</span><span data-if="cpp" style="display:none">"linear"</span><span data-if="com" style="display:none">"linear"</span><span data-if="dotnet" style="display:none">"linear"</span><span data-if="python" style="display:none">"linear"</span>, <span data-if="hdevelop" style="display:inline">'points'</span><span data-if="c" style="display:none">"points"</span><span data-if="cpp" style="display:none">"points"</span><span data-if="com" style="display:none">"points"</span><span data-if="dotnet" style="display:none">"points"</span><span data-if="python" style="display:none">"points"</span>, <span data-if="hdevelop" style="display:inline">'polygons'</span><span data-if="c" style="display:none">"polygons"</span><span data-if="cpp" style="display:none">"polygons"</span><span data-if="com" style="display:none">"polygons"</span><span data-if="dotnet" style="display:none">"polygons"</span><span data-if="python" style="display:none">"polygons"</span>, <span data-if="hdevelop" style="display:inline">'primitive'</span><span data-if="c" style="display:none">"primitive"</span><span data-if="cpp" style="display:none">"primitive"</span><span data-if="com" style="display:none">"primitive"</span><span data-if="dotnet" style="display:none">"primitive"</span><span data-if="python" style="display:none">"primitive"</span>, <span data-if="hdevelop" style="display:inline">'triangles'</span><span data-if="c" style="display:none">"triangles"</span><span data-if="cpp" style="display:none">"triangles"</span><span data-if="com" style="display:none">"triangles"</span><span data-if="dotnet" style="display:none">"triangles"</span><span data-if="python" style="display:none">"triangles"</span>, <span data-if="hdevelop" style="display:inline">'true'</span><span data-if="c" style="display:none">"true"</span><span data-if="cpp" style="display:none">"true"</span><span data-if="com" style="display:none">"true"</span><span data-if="dotnet" style="display:none">"true"</span><span data-if="python" style="display:none">"true"</span>, <span data-if="hdevelop" style="display:inline">'voxel'</span><span data-if="c" style="display:none">"voxel"</span><span data-if="cpp" style="display:none">"voxel"</span><span data-if="com" style="display:none">"voxel"</span><span data-if="dotnet" style="display:none">"voxel"</span><span data-if="python" style="display:none">"voxel"</span></p>
</div>
<h2 id="sec_result">结果</h2>
<p><code><span data-if="hdevelop" style="display:inline">distance_object_model_3d</span><span data-if="c" style="display:none">distance_object_model_3d</span><span data-if="cpp" style="display:none">DistanceObjectModel3d</span><span data-if="com" style="display:none">DistanceObjectModel3d</span><span data-if="dotnet" style="display:none">DistanceObjectModel3d</span><span data-if="python" style="display:none">distance_object_model_3d</span></code> returns <TT>2</TT> (
      <TT>H_MSG_TRUE</TT>)
     if all parameters
are correct. 如有必要，将引发异常。</p>
<h2 id="sec_predecessors">可能的前置算子</h2>
<p>
<code><a href="prepare_object_model_3d.html"><span data-if="hdevelop" style="display:inline">prepare_object_model_3d</span><span data-if="c" style="display:none">prepare_object_model_3d</span><span data-if="cpp" style="display:none">PrepareObjectModel3d</span><span data-if="com" style="display:none">PrepareObjectModel3d</span><span data-if="dotnet" style="display:none">PrepareObjectModel3d</span><span data-if="python" style="display:none">prepare_object_model_3d</span></a></code>, 
<code><a href="read_object_model_3d.html"><span data-if="hdevelop" style="display:inline">read_object_model_3d</span><span data-if="c" style="display:none">read_object_model_3d</span><span data-if="cpp" style="display:none">ReadObjectModel3d</span><span data-if="com" style="display:none">ReadObjectModel3d</span><span data-if="dotnet" style="display:none">ReadObjectModel3d</span><span data-if="python" style="display:none">read_object_model_3d</span></a></code>, 
<code><a href="find_surface_model.html"><span data-if="hdevelop" style="display:inline">find_surface_model</span><span data-if="c" style="display:none">find_surface_model</span><span data-if="cpp" style="display:none">FindSurfaceModel</span><span data-if="com" style="display:none">FindSurfaceModel</span><span data-if="dotnet" style="display:none">FindSurfaceModel</span><span data-if="python" style="display:none">find_surface_model</span></a></code>, 
<code><a href="xyz_to_object_model_3d.html"><span data-if="hdevelop" style="display:inline">xyz_to_object_model_3d</span><span data-if="c" style="display:none">xyz_to_object_model_3d</span><span data-if="cpp" style="display:none">XyzToObjectModel3d</span><span data-if="com" style="display:none">XyzToObjectModel3d</span><span data-if="dotnet" style="display:none">XyzToObjectModel3d</span><span data-if="python" style="display:none">xyz_to_object_model_3d</span></a></code>
</p>
<h2 id="sec_successors">可能的后置算子</h2>
<p>
<code><a href="get_object_model_3d_params.html"><span data-if="hdevelop" style="display:inline">get_object_model_3d_params</span><span data-if="c" style="display:none">get_object_model_3d_params</span><span data-if="cpp" style="display:none">GetObjectModel3dParams</span><span data-if="com" style="display:none">GetObjectModel3dParams</span><span data-if="dotnet" style="display:none">GetObjectModel3dParams</span><span data-if="python" style="display:none">get_object_model_3d_params</span></a></code>, 
<code><a href="render_object_model_3d.html"><span data-if="hdevelop" style="display:inline">render_object_model_3d</span><span data-if="c" style="display:none">render_object_model_3d</span><span data-if="cpp" style="display:none">RenderObjectModel3d</span><span data-if="com" style="display:none">RenderObjectModel3d</span><span data-if="dotnet" style="display:none">RenderObjectModel3d</span><span data-if="python" style="display:none">render_object_model_3d</span></a></code>, 
<code><a href="disp_object_model_3d.html"><span data-if="hdevelop" style="display:inline">disp_object_model_3d</span><span data-if="c" style="display:none">disp_object_model_3d</span><span data-if="cpp" style="display:none">DispObjectModel3d</span><span data-if="com" style="display:none">DispObjectModel3d</span><span data-if="dotnet" style="display:none">DispObjectModel3d</span><span data-if="python" style="display:none">disp_object_model_3d</span></a></code>, 
<code><a href="clear_object_model_3d.html"><span data-if="hdevelop" style="display:inline">clear_object_model_3d</span><span data-if="c" style="display:none">clear_object_model_3d</span><span data-if="cpp" style="display:none">ClearObjectModel3d</span><span data-if="com" style="display:none">ClearObjectModel3d</span><span data-if="dotnet" style="display:none">ClearObjectModel3d</span><span data-if="python" style="display:none">clear_object_model_3d</span></a></code>
</p>
<h2 id="sec_see">参考其它</h2>
<p>
<code><a href="prepare_object_model_3d.html"><span data-if="hdevelop" style="display:inline">prepare_object_model_3d</span><span data-if="c" style="display:none">prepare_object_model_3d</span><span data-if="cpp" style="display:none">PrepareObjectModel3d</span><span data-if="com" style="display:none">PrepareObjectModel3d</span><span data-if="dotnet" style="display:none">PrepareObjectModel3d</span><span data-if="python" style="display:none">prepare_object_model_3d</span></a></code>
</p>
<h2 id="sec_module">模块</h2>
<p>
3D Metrology</p>
<!--OP_REF_FOOTER_START-->
<hr>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<div class="footer">
<div class="copyright">HALCON算子参考手册 Copyright © 2015-2023 51Halcon</div>
</div>
</div>
</body>
</html>
